Freigeben über


SqlCeResultSet.Delete-Methode

Löscht den aktuellen Datensatz aus der Datenquelle auf dem Server.

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

Syntax

'Declaration
<SecurityCriticalAttribute> _
<SecurityTreatAsSafeAttribute> _
<SecurityPermissionAttribute(SecurityAction.Assert, UnmanagedCode := True)> _
Public Sub Delete
'Usage
Dim instance As SqlCeResultSet

instance.Delete()
[SecurityCriticalAttribute]
[SecurityTreatAsSafeAttribute]
[SecurityPermissionAttribute(SecurityAction.Assert, UnmanagedCode = true)]
public void Delete()
[SecurityCriticalAttribute]
[SecurityTreatAsSafeAttribute]
[SecurityPermissionAttribute(SecurityAction::Assert, UnmanagedCode = true)]
public:
void Delete()
[<SecurityCriticalAttribute>]
[<SecurityTreatAsSafeAttribute>]
[<SecurityPermissionAttribute(SecurityAction.Assert, UnmanagedCode = true)>]
member Delete : unit -> unit 
public function Delete()

Hinweise

Die aktuelle Position von SqlCeResultSet wird durch das Aufrufen dieser Methode nicht geändert.

Diese Methode löst eine InvalidOperationException aus, wenn sie für einen nicht aktualisierbaren Reader aufgerufen wird oder wenn der Reader nicht auf einen gültigen Datensatz positioniert wurde.

Beispiele

Im folgende Beispiel wird veranschaulicht, wie ein Datensatz aus einem SqlCeResultSet gelöscht wird.

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

Siehe auch

Verweis

SqlCeResultSet Klasse

System.Data.SqlServerCe-Namespace