This documentation is archived and is not being maintained.

OleDbDataAdapter.InsertCommand Property

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

[Visual Basic]
Public Shadows Property InsertCommand As OleDbCommand
public new OleDbCommand InsertCommand {get; set;}
public: __property OleDbCommand* get_InsertCommand();
public: __property void set_InsertCommand(OleDbCommand*);
public hide function get InsertCommand() : OleDbCommand;
public function set InsertCommand(OleDbCommand);

Property Value

An OleDbCommand used during Update to insert records in the data source that correspond to new rows in the DataSet.


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 and use the OleDbCommandBuilder. Then, any additional commands that you do not set are generated by the OleDbCommandBuilder. This generation logic requires key column information to be present in the DataSet. For more information see Automatically Generated Commands.

When InsertCommand is assigned to a previously created OleDbCommand, the OleDbCommand is not cloned. The InsertCommand maintains a reference to the previously created OleDbCommand 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 OleDbCommand object.


[Visual Basic, C#, C++] The following example creates an OleDbDataAdapter and sets the SelectCommand and InsertCommand properties. It assumes you have already created an OleDbConnection object.

[Visual Basic] 
Public Shared Function CreateCustomerAdapter(conn As OleDbConnection) As OleDbDataAdapter 
  Dim da As OleDbDataAdapter = New OleDbDataAdapter()
  Dim cmd As OleDbCommand

  ' Create the SelectCommand.

  cmd = New OleDbCommand("SELECT * FROM Customers " & _
                       "WHERE Country = @Country AND City = @City", conn)

  cmd.Parameters.Add("@Country", OleDbType.VarChar, 15)
  cmd.Parameters.Add("@City", OleDbType.VarChar, 15)

  da.SelectCommand = cmd

  ' Create the InsertCommand.

  cmd = New OleDbCommand("INSERT INTO Customers (CustomerID, CompanyName) " & _
                       "VALUES (@CustomerID, @CompanyName)", conn)

  cmd.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID")
  cmd.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName")

  da.InsertCommand = cmd

  Return da
End Function

public static OleDbDataAdapter CreateCustomerAdapter(OleDbConnection conn)
  OleDbDataAdapter da = new OleDbDataAdapter();
  OleDbCommand cmd;

  // Create the SelectCommand.

  cmd = new OleDbCommand("SELECT * FROM Customers " +
                       "WHERE Country = @Country AND City = @City", conn);

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

  da.SelectCommand = cmd;

  // Create the InsertCommand.

  cmd = new OleDbCommand("INSERT INTO Customers (CustomerID, CompanyName) " +
                       "VALUES (@CustomerID, @CompanyName)", conn);

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

  da.InsertCommand = cmd;

  return da;

static OleDbDataAdapter* CreateCustomerAdapter(OleDbConnection* conn)
  OleDbDataAdapter* da = new OleDbDataAdapter();
  OleDbCommand* cmd;

  // Create the SelectCommand.

  cmd = new OleDbCommand(S"SELECT * FROM Customers " 
                         S"WHERE Country = @Country AND City = @City", conn);

  cmd->Parameters->Add(S"@Country", OleDbType::VarChar, 15);
  cmd->Parameters->Add(S"@City", OleDbType::VarChar, 15);

  da->SelectCommand = cmd;

  // Create the InsertCommand.

  cmd = new OleDbCommand(S"INSERT INTO Customers (CustomerID, CompanyName) " 
                         S"VALUES (@CustomerID, @CompanyName)", conn);

  cmd->Parameters->Add(S"@CustomerID", OleDbType::Char, 5, S"CustomerID");
  cmd->Parameters->Add(S"@CompanyName", OleDbType::VarChar, 40, S"CompanyName");

  da->InsertCommand = cmd;

  return da;

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

OleDbDataAdapter Class | OleDbDataAdapter Members | System.Data.OleDb Namespace | DeleteCommand | SelectCommand | UpdateCommand