SqlCeDataAdapter.InsertCommand Property
Gets or sets an SQL statement used to insert new records into the data source.
Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)
'Declaration
Public Property InsertCommand As SqlCeCommand
'Usage
Dim instance As SqlCeDataAdapter
Dim value As SqlCeCommand
value = instance.InsertCommand
instance.InsertCommand = value
public SqlCeCommand InsertCommand { get; set; }
public:
property SqlCeCommand^ InsertCommand {
SqlCeCommand^ get ();
void set (SqlCeCommand^ value);
}
/** @property */
public SqlCeCommand get_InsertCommand ()
/** @property */
public void set_InsertCommand (SqlCeCommand value)
public function get InsertCommand () : SqlCeCommand
public function set InsertCommand (value : SqlCeCommand)
Not applicable.
A SqlCeCommand used during Update to insert records in the data source that correspond to new rows in the DataSet.
During a call to 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 SqlCeCommandBuilder. Then, any additional commands that you do not set are generated by the SqlCeCommandBuilder. This generation logic requires key column information to be present in the DataSet.
When InsertCommand is assigned to a previously-created SqlCeCommand, the SqlCeCommand is not cloned. The InsertCommand maintains a reference to the previously-created SqlCeCommand 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 SqlCeCommand object.
The following example creates a SqlCeDataAdapter and sets some of its properties.
Dim cmd As SqlCeCommand = Nothing
Dim adp As SqlCeDataAdapter = Nothing
Try
adp = New SqlCeDataAdapter()
Dim conn As New SqlCeConnection("Data Source = MyDatabase.sdf")
' Create the SelectCommand
'
cmd = conn.CreateCommand()
cmd.CommandText = "SELECT [Employee ID], [First Name], [Last Name] FROM Employees"
adp.SelectCommand = cmd
' Create the InsertCommand
'
cmd = conn.CreateCommand()
cmd.CommandText = "INSERT INTO Employees ([First Name],[Last Name]) VALUES (@first, @last)"
Dim p As SqlCeParameter = Nothing
p = cmd.Parameters.Add("@first", SqlDbType.NVarChar, 10, "First Name")
p.SourceVersion = DataRowVersion.Original
p = cmd.Parameters.Add("@last", SqlDbType.NVarChar, 20, "Last Name")
p.SourceVersion = DataRowVersion.Original
adp.InsertCommand = cmd
' Create the UpdateCommand
'
cmd = conn.CreateCommand()
cmd.CommandText = "UPDATE Employees SET [First Name] = @first, " + _
"[Last Name] = @last WHERE [Employee ID] = @employeeID"
p = cmd.Parameters.Add("@first", SqlDbType.NVarChar, 10, "First Name")
p.SourceVersion = DataRowVersion.Current
p = cmd.Parameters.Add("@last", SqlDbType.NVarChar, 20, "Last Name")
p.SourceVersion = DataRowVersion.Current
p = cmd.Parameters.Add("@employeeID", SqlDbType.NVarChar, 20, "Employee ID")
p.SourceVersion = DataRowVersion.Original
adp.UpdateCommand = cmd
' Populate the dataset with the results from the SELECT statement
'
Dim ds As New DataSet()
adp.Fill(ds)
' Modify the dataset
'
MessageBox.Show("Number of rows: " & ds.Tables(0).Rows.Count)
' Insert some rows
'
ds.Tables(0).Rows.Add(New Object() {Nothing, "Nancy", "Smith"})
ds.Tables(0).Rows.Add(New Object() {Nothing, "Joe", "Clayton"})
' Update some rows
'
ds.Tables(0).Rows(1)(1) = "David"
ds.Tables(0).Rows(1)(2) = "Johnson"
' This will execute two INSERT and one UPDATE statements
'
adp.Update(ds.Tables(0))
Catch e As Exception
MessageBox.Show(e.Message)
Finally
If Not Nothing Is adp.SelectCommand Then
adp.SelectCommand.Dispose()
End If
If Not Nothing Is adp.InsertCommand Then
adp.InsertCommand.Dispose()
End If
End Try
SqlCeCommand cmd = null;
SqlCeDataAdapter adp = null;
try
{
adp = new SqlCeDataAdapter();
SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf");
// Create the SelectCommand
//
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT [Employee ID], [First Name], [Last Name] FROM Employees";
adp.SelectCommand = cmd;
// Create the InsertCommand
//
cmd = conn.CreateCommand();
cmd.CommandText = "INSERT INTO Employees ([First Name],[Last Name]) VALUES (@first, @last)";
SqlCeParameter p = null;
p = cmd.Parameters.Add("@first", SqlDbType.NVarChar, 10, "First Name");
p.SourceVersion = DataRowVersion.Original;
p = cmd.Parameters.Add("@last", SqlDbType.NVarChar, 20, "Last Name");
p.SourceVersion = DataRowVersion.Original;
adp.InsertCommand = cmd;
// Create the UpdateCommand
//
cmd = conn.CreateCommand();
cmd.CommandText = "UPDATE Employees SET [First Name] = @first, " +
"[Last Name] = @last WHERE [Employee ID] = @employeeID";
p = cmd.Parameters.Add("@first", SqlDbType.NVarChar, 10, "First Name");
p.SourceVersion = DataRowVersion.Current;
p = cmd.Parameters.Add("@last", SqlDbType.NVarChar, 20, "Last Name");
p.SourceVersion = DataRowVersion.Current;
p = cmd.Parameters.Add("@employeeID", SqlDbType.NVarChar, 20, "Employee ID");
p.SourceVersion = DataRowVersion.Original;
adp.UpdateCommand = cmd;
// Populate the dataset with the results from the SELECT statement
//
DataSet ds = new DataSet();
adp.Fill(ds);
// Modify the dataset
//
MessageBox.Show("Number of rows: " + ds.Tables[0].Rows.Count);
// Insert some rows
//
ds.Tables[0].Rows.Add(new object[] { null, "Nancy", "Smith" });
ds.Tables[0].Rows.Add(new object[] { null, "Joe", "Clayton" });
// Update some rows
//
ds.Tables[0].Rows[1][1] = "David";
ds.Tables[0].Rows[1][2] = "Johnson";
// This will execute two INSERT and one UPDATE statements
//
adp.Update(ds.Tables[0]);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finally
{
if (null != adp.SelectCommand) adp.SelectCommand.Dispose();
if (null != adp.InsertCommand) adp.InsertCommand.Dispose();
}
Windows CE, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows XP Professional x64 Edition, Windows XP SP2
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Supported in: 3.0
Supported in: 2.0, 1.0
SqlCeDataAdapter Class
SqlCeDataAdapter Members
System.Data.SqlServerCe Namespace
DeleteCommand
SelectCommand
UpdateCommand