IDbDataAdapter.InsertCommand Property

Definition

Gets or sets an SQL statement used to insert new records into the data source.

C#
public System.Data.IDbCommand? InsertCommand { get; set; }
C#
public System.Data.IDbCommand InsertCommand { get; set; }

Property Value

An IDbCommand used during Update(DataSet) to insert records in the data source for new rows in the data set.

Examples

The following example creates an instance of the inherited OleDbDataAdapter class, and sets the SelectCommand and InsertCommand properties. It assumes you have already created an OleDbConnection object.

C#
public static OleDbDataAdapter CreateCustomerAdapter(
    OleDbConnection connection)
{
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    OleDbCommand command;

    // Create the SelectCommand.
    command = new OleDbCommand("SELECT CustomerID FROM Customers " +
        "WHERE Country = ? AND City = ?", connection);

    command.Parameters.Add("Country", OleDbType.VarChar, 15);
    command.Parameters.Add("City", OleDbType.VarChar, 15);

    adapter.SelectCommand = command;

    // Create the InsertCommand.
    command = new OleDbCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (?, ?)", connection);

    command.Parameters.Add(
        "CustomerID", OleDbType.Char, 5, "CustomerID");
    command.Parameters.Add(
        "CompanyName", OleDbType.VarChar, 40, "CompanyName");

    adapter.InsertCommand = command;
    return adapter;
}

Remarks

During Update, if this property is not set and primary key information is present in the DataSet, the InsertCommand can be generated automatically if you set the SelectCommand property of a .NET Framework data provider. Then, any additional commands that you do not set are generated by the CommandBuilder. This generation logic requires key column information to be present in the DataSet. For more information see Generating Commands with CommandBuilders.

When InsertCommand is assigned to a previously created IDbCommand, the IDbCommand is not cloned. The InsertCommand maintains a reference to the previously created IDbCommand object.

Note

If execution of this command returns rows, these rows may be added to the DataSet depending on how you set the UpdatedRowSource property of the IDbCommand object.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1