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

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

    Property Value

    A SalesforceCommand used during an update operation to insert records in the data source that correspond to new rows in the System.Data.DataSet.
    Remarks
    During an update operation, if InsertCommand is not set and primary key information is present in the System.Data.DataSet, you can use the SalesforceCommandBuilder class to automatically generate InsertCommand, 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 added to 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 Acco", salesforceConnection); 
            myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey; 
            DataSet myDataSet = new DataSet(); 
            myAdapter.Fill(myDataSet,"Accounts"); 
            object[] rowVals = new object[2]; 
            rowVals[0] = ""; 
            rowVals[1] = "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 ID, Name FROM Acco", salesforceConnection)
            myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
            Dim myDataSet As New DataSet()
            myAdapter.Fill(myDataSet, "Accounts")
            Dim rowVals As Object() = New Object(1) {}
            rowVals(0) = ""
            rowVals(1) = "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
    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