dotConnect for Salesforce Documentation
Devart.Data.Salesforce Namespace / SalesforceDataAdapter Class
Members Example

SalesforceDataAdapter Class
Represents a set of data commands and a data source connection that are used to fill the System.Data.DataSet and update Salesforce.com or Database.com data.
Syntax
Remarks
The SalesforceDataAdapter serves as a bridge between a System.Data.DataSet and a data source for retrieving and saving data. The SalesforceDataAdapter provides this bridge by using System.Data.Common.DbDataAdapter.Fill to load data from the data source into the System.Data.DataSet, and using System.Data.DataSet.Update() to send changes made in the System.Data.DataSet back to the data source.

SalesforceDataAdapter is used in conjunction with SalesforceConnection and SalesforceCommand to increase performance when connecting to Salesforce.com or Database.com.

The SalesforceDataAdapter also includes the SelectCommand, InsertCommand, DeleteCommand, UpdateCommand, and TableMappings properties to facilitate loading and updating of data.

Example
The following example demonstrates how to retrieve and manipulate data using SalesforceDataAdapter.
public void UseDataAdapter(SalesforceConnection salesforceConnection) 
{ 
        SalesforceDataAdapter myAdapter = new SalesforceDataAdapter("SELECT Name FROM Account", salesforceConnection); 
        myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; 
        DataSet myDataSet = new DataSet(); 
        myAdapter.Fill(myDataSet,"Accounts"); 
        object[] rowVals = new object[2]; 
        rowVals[0] = "New account"; 
        myDataSet.Tables["Accounts"].Rows.Add(rowVals); 
        myAdapter.InsertCommand = new SalesforceCommand("INSERT INTO Account (Name) " + 
                "VALUES ( :Name)", salesforceConnection); 
        myAdapter.InsertCommand.Parameters.Add("Name", SalesforceType.String, 255, "Name"); 
        myAdapter.Update(myDataSet,"Account");  
        //Get all data from all tables within the dataset 
        foreach(DataTable myTable in myDataSet.Tables) 
        { 
                foreach(DataRow myRow in myTable.Rows) 
                { 
                        foreach (DataColumn myColumn in myTable.Columns) 
                        { 
                                Console.Write(myRow[myColumn]+"\t"); 
                        } 
                        Console.WriteLine(); 
                } 
                Console.WriteLine(); 
        } 
}
Public Sub UseDataAdapter(salesforceConnection As SalesforceConnection)
        Dim myAdapter As New SalesforceDataAdapter("SELECT Name FROM Account", salesforceConnection)
        myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
        Dim myDataSet As New DataSet()
        myAdapter.Fill(myDataSet, "Accounts")
        Dim rowVals As Object() = New Object(1) {}
        rowVals(0) = "New account"
        myDataSet.Tables("Accounts").Rows.Add(rowVals)
        myAdapter.InsertCommand = New SalesforceCommand("INSERT INTO Account (Name) " _
                & "VALUES ( :Name)", salesforceConnection)
        myAdapter.InsertCommand.Parameters.Add("Name", SalesforceType.String, 255, "Name")
        myAdapter.Update(myDataSet, "Account")
        'Get all data from all tables within the dataset 
        For Each myTable As DataTable In myDataSet.Tables
                For Each myRow As DataRow In myTable.Rows
                        For Each myColumn As DataColumn In myTable.Columns
                                Console.Write(myRow(myColumn) + vbTab)
                        Next
                        Console.WriteLine()
                Next
                Console.WriteLine()
        Next
End Sub
Inheritance Hierarchy

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Data.Common.DataAdapter
            System.Data.Common.DbDataAdapter
               Devart.Common.DbDataAdapter
                  Devart.Data.Salesforce.SalesforceDataAdapter

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also