Compartir a través de


SqlCeResultSet.Insert Método (SqlCeUpdatableRecord)

Inserta el objeto SqlCeUpdatableRecord especificado en el conjunto de filas subyacente.

Espacio de nombres:  System.Data.SqlServerCe
Ensamblado:  System.Data.SqlServerCe (en System.Data.SqlServerCe.dll)

Sintaxis

'Declaración
Public Sub Insert ( _
    record As SqlCeUpdatableRecord _
)
'Uso
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
)

Parámetros

Comentarios

Al insertar un registro, no se cambia la posición actual del cursor SqlCeResultSet.

Al llamar a esta función, se realiza la inserción inmediatamente sin exigir llamadas adicionales para completar la operación.

Si el registro especificado tiene más columnas que las definidas para el conjunto de filas subyacente, se produce una excepción. Si se especifican menos valores, las columnas restantes deben permitir valores nulos o tener un valor predeterminado definido.

Se produce una excepción InvalidOperationException si se realiza una llamada a esta función para un cursor SqlCeResultSet no actualizable, o si el lector no se encuentra situado sobre un registro válido.

Ejemplos

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

Vea también

Referencia

SqlCeResultSet Clase

Sobrecarga de Insert

Espacio de nombres System.Data.SqlServerCe