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
)
public void Insert (
    SqlCeUpdatableRecord record
)
public function Insert (
    record : SqlCeUpdatableRecord
)
Not applicable.

Parameters

  • record
    The record to insert.

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.

Example

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();
}

Platforms

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.

Version Information

.NET Framework

Supported in: 3.0

.NET Compact Framework

Supported in: 2.0

See Also

Reference

SqlCeResultSet Class
SqlCeResultSet Members
System.Data.SqlServerCe Namespace