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

In This Topic
    UpdateCommand Property
    In This Topic
    Gets or sets Salesforce.com or Database.com statement used to update records in the data source.
    Syntax
    'Declaration
     
    Public Shadows Property UpdateCommand As SalesforceCommand
    public new SalesforceCommand UpdateCommand {get; set;}

    Property Value

    A SalesforceCommand used during an update operation to update records in the data source that correspond to modified rows in the System.Data.DataSet.
    Remarks
    During an update operation, if UpdateCommand is not set and primary key information is present in the System.Data.DataSet, you can use the SalesforceCommandBuilder class to automatically generate UpdateCommand, and additional commands needed to reconcile the System.Data.DataSet to the data source. To do this, set the SelectCommand property of the SalesforceDataAdapter. For more information see "Automatically Generated Commands" in the Microsoft .NET Framework SDK documentation.

    Note: If execution of this command returns rows, these rows may be merged with the System.Data.DataSet depending upon how you set the Devart.Common.DbCommandBase.UpdatedRowSource property of the SalesforceCommand object.

    Example
    The following example demonstrates how to retrieve and manipulate data using SalesforceDataAdapter.
    public void UseDataAdapter(SalesforceConnection salesforceConnection) 
    { 
            SalesforceDataAdapter myAdapter = new SalesforceDataAdapter("SELECT ID, Name FROM Account", salesforceConnection); 
            myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; 
            DataSet myDataSet = new DataSet(); 
            myAdapter.Fill(myDataSet,"Accounts"); 
            myDataSet.Tables["Accounts"].Rows[3]["Name"] = "Edited account"; 
            myAdapter.UpdateCommand = new SalesforceCommand("UPDATE Accounts SET Name = :Name " + 
                    "WHERE ID = :ID", salesforceConnection); 
            myAdapter.UpdateCommand.Parameters.Add("ID", SalesforceType.String, 18, "ID"); 
            myAdapter.UpdateCommand.Parameters.Add("Name", SalesforceDbType.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 ID, Name FROM Account", salesforceConnection)
            myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
            Dim myDataSet As New DataSet()
            myAdapter.Fill(myDataSet, "Accounts")
            myDataSet.Tables("Accounts").Rows(3)("Name") = "Edited account"
            myAdapter.UpdateCommand = New SalesforceCommand("UPDATE Accounts SET Name = :Name " & _
               "WHERE ID = :ID", salesforceConnection)
            myAdapter.UpdateCommand.Parameters.Add("ID", SalesforceType.String, 18, "ID")
            myAdapter.UpdateCommand.Parameters.Add("Name", SalesforceDbType.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
    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