This documentation is archived and is not being maintained.

IDbDataAdapter.InsertCommand Property

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

[Visual Basic]
Property InsertCommand As IDbCommand
IDbCommand InsertCommand {get; set;}
__property IDbCommand* get_InsertCommand();
__property void set_InsertCommand(IDbCommand*);
function get InsertCommand() : IDbCommand;function set InsertCommand(IDbCommand);

Property Value

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


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 Automatically Generated Commands.

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.


[Visual Basic, C#, C++] 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.

[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, .NET Compact Framework

See Also

IDbDataAdapter Interface | IDbDataAdapter Members | System.Data Namespace