Export (0) Print
Expand All

SqlCeResultSet.Insert Method (SqlCeUpdatableRecord)

Inserts the specified SqlCeUpdatableRecord into the underlying rowset.

Namespace:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (in System.Data.SqlServerCe.dll)

public void Insert(
	SqlCeUpdatableRecord record
)

Parameters

record
Type: System.Data.SqlServerCe.SqlCeUpdatableRecord
The record to insert.

Inserting a record does not change the current position of the SqlCeResultSet.

Calling this function performs the insertion immediately without requiring additional calls to complete the operation.

An exception is thrown if the record specified has more columns than the underlying rowset has defined. If fewer values are specified, the remaining columns must allow null values or have a default value defined.

An InvalidOperationException is thrown if this function is called on a non-updatable SqlCeResultSet or if the reader is not positioned on a valid record.

SqlCeConnection conn = null;

try
{
    File.Delete("Test.sdf");

    SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
    engine.CreateDatabase();

    conn = new SqlCeConnection("Data Source = Test.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "CREATE TABLE myTable (col1 INT)";
    cmd.ExecuteNonQuery();

    cmd.CommandText = "SELECT * FROM myTable";

    SqlCeResultSet rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable |
        ResultSetOptions.Scrollable);

    SqlCeUpdatableRecord rec = rs.CreateRecord();

    // Insert 10 records
    //
    for (int i = 0; i < 10; i++)
    {
        rec.SetInt32(0, i);
        rs.Insert(rec);
    }

    // Update the 5th record
    //
    if (true == rs.ReadAbsolute(5))
    {
        rs.SetInt32(0, 55);
        rs.Update();
    }

    // Delete the 2nd record
    //
    if (true == rs.ReadAbsolute(2))
    {
        rs.Delete();
    }
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    conn.Close();
}


Show:
© 2014 Microsoft