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)

Syntax

'Declaration
Public Sub Insert ( _
    record As SqlCeUpdatableRecord _
)
'Usage
Dim instance As SqlCeResultSet
Dim record As SqlCeUpdatableRecord

instance.Insert(record)
public void Insert(
    SqlCeUpdatableRecord record
)
public:
void Insert(
    SqlCeUpdatableRecord^ record
)
member Insert : 
        record:SqlCeUpdatableRecord -> unit 
public function Insert(
    record : SqlCeUpdatableRecord
)

Parameters

Remarks

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.

Examples

Dim conn As SqlCeConnection = Nothing

Try
    File.Delete("Test.sdf")

    Dim engine As New SqlCeEngine("Data Source = Test.sdf")
    engine.CreateDatabase()

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

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

    cmd.CommandText = "SELECT * FROM myTable"

    Dim rs As SqlCeResultSet = cmd.ExecuteResultSet(ResultSetOptions.Updatable Or ResultSetOptions.Scrollable)

    Dim rec As SqlCeUpdatableRecord = rs.CreateRecord()

    ' Insert 10 records
    '
    Dim i As Integer
    For i = 0 To 9
        rec.SetInt32(0, i)
        rs.Insert(rec)
    Next i

    ' Update the 5th record
    '
    If True = rs.ReadAbsolute(5) Then
        rs.SetInt32(0, 55)
        rs.Update()
    End If

    ' Delete the 2nd record
    '
    If True = rs.ReadAbsolute(2) Then
        rs.Delete()
    End If
Catch e As Exception
    MessageBox.Show(e.Message)
Finally
    conn.Close()
End Try
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();
}

See Also

Reference

SqlCeResultSet Class

Insert Overload

System.Data.SqlServerCe Namespace