SqlCeResultSet.CreateRecord Method

Creates a new row on the server and returns a SqlCeUpdatableRecord object.

Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Syntax

'Declaration
Public Function CreateRecord As SqlCeUpdatableRecord
public SqlCeUpdatableRecord CreateRecord ()
public:
SqlCeUpdatableRecord^ CreateRecord ()
public SqlCeUpdatableRecord CreateRecord ()
public function CreateRecord () : SqlCeUpdatableRecord

Return Value

A SqlCeUpdatableRecord with the metadata of the SqlCeResultSet pre-populated.

Example

The following example creates a new record using CreateRecord, sets values for the record, and then adds the record to the SqlCeResultSet.

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, col2 MONEY, col3 NVARCHAR(200))"
    cmd.ExecuteNonQuery()

    ' For optimal performance use base table access
    '
    cmd.CommandText = "myTable"
    cmd.CommandType = CommandType.TableDirect

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

    Dim rec As SqlCeUpdatableRecord = rs.CreateRecord()

    ' Insert two records
    '
    rec.SetInt32(0, 34)
    rec.SetDecimal(1, System.Convert.ToDecimal(44.66))
    rec.SetString(2, "Sample text 1")

    rs.Insert(rec)

    rec.SetInt32(0, 35)
    rec.SetDecimal(1, System.Convert.ToDecimal(94.25))
    rec.SetString(2, "Sample text 2")

    rs.Insert(rec)
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, col2 MONEY, col3 NVARCHAR(200))";
    cmd.ExecuteNonQuery();

    // For optimal performance use base table access
    //
    cmd.CommandText = "myTable";
    cmd.CommandType = CommandType.TableDirect;

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

    SqlCeUpdatableRecord rec = rs.CreateRecord();

    // Insert two records
    //
    rec.SetInt32(0, 34);
    rec.SetDecimal(1, (decimal)44.66);
    rec.SetString(2, "Sample text 1");

    rs.Insert(rec);

    rec.SetInt32(0, 35);
    rec.SetDecimal(1, (decimal)94.25);
    rec.SetString(2, "Sample text 2");

    rs.Insert(rec);
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    conn.Close();
}

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Version Information
.NET Framework and NET Compact Framework
Supported in 3.5
.NET Framework
Supported in 3.0
.NET Compact Framework and .Net Framework
Supported in 2.0

See Also

Reference

SqlCeResultSet Class
SqlCeResultSet Members
System.Data.SqlServerCe Namespace