SqlCeDataAdapter.RowUpdating-Ereignis
Tritt während eines Aufrufs der Update-Methode vor dem Ausführen eines Aktualisierungsbefehls für die Datenquelle ein. Es wird eine Aktualisierung versucht, und dann wird das Ereignis ausgelöst.
Namespace: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in System.Data.SqlServerCe.dll)
Syntax
'Declaration
Public Event RowUpdating As SqlCeRowUpdatingEventHandler
'Usage
Dim instance As SqlCeDataAdapter
Dim handler As SqlCeRowUpdatingEventHandler
AddHandler instance.RowUpdating, handler
public event SqlCeRowUpdatingEventHandler RowUpdating
public:
event SqlCeRowUpdatingEventHandler^ RowUpdating {
void add (SqlCeRowUpdatingEventHandler^ value);
void remove (SqlCeRowUpdatingEventHandler^ value);
}
member RowUpdating : IEvent<SqlCeRowUpdatingEventHandler,
SqlCeRowUpdatingEventArgs>
JScript unterstützt die Verwendung von Ereignissen, jedoch nicht die Deklaration neuer Ereignisse.
Hinweise
Wenn Sie die Update-Methode verwenden, treten zwei Ereignisse pro aktualisierte Datenzeile ein. Die Ausführung erfolgt in der folgenden Reihenfolge:
Die Werte in der DataRow werden in die Parameterwerte verschoben.
Das OnRowUpdating-Ereignis wird ausgelöst.
Der Befehl wird ausgeführt.
Wenn der Befehl auf FirstReturnedRecord festgelegt ist, wird das erste zurückgegebene Ergebnis in der DataRow-Instanz platziert.
Das OnRowUpdated-Ereignis wird ausgelöst.
AcceptChanges wird aufgerufen.
Beispiele
Das folgende Beispiel veranschaulicht, wie das RowUpdating-Ereignis und das RowUpdated-Ereignis verwendet werden.
Public Sub Snippet5()
' Create DataAdapter
'
Dim adp As New SqlCeDataAdapter("SELECT * FROM products", "Data Source = MyDatabase.sdf")
Dim cb As New SqlCeCommandBuilder(adp)
' Create and fill the dataset (select only first 5 rows)
'
Dim ds As New DataSet()
adp.Fill(ds, 0, 5, "Table")
' Modify dataSet
'
Dim table As DataTable = ds.Tables("Table")
table.Rows(1)("Product Name") = "Asian Chai"
' Add handlers
'
AddHandler adp.RowUpdating, AddressOf OnRowUpdating
AddHandler adp.RowUpdated, AddressOf OnRowUpdated
' Update, this operation fires two events (RowUpdating/RowUpdated)
'
adp.Update(ds, "Table")
' Remove handlers
'
RemoveHandler adp.RowUpdating, AddressOf OnRowUpdating
RemoveHandler adp.RowUpdated, AddressOf OnRowUpdated
End Sub 'Snippet5
Private Shared Sub OnRowUpdating(ByVal sender As Object, ByVal e As SqlCeRowUpdatingEventArgs)
Console.WriteLine("OnRowUpdating")
Console.WriteLine(e.Command.CommandText)
Console.WriteLine(e.StatementType)
Console.WriteLine(e.Status)
End Sub 'OnRowUpdating
Private Shared Sub OnRowUpdated(ByVal sender As Object, ByVal e As SqlCeRowUpdatedEventArgs)
Console.WriteLine("OnRowUpdated")
Console.WriteLine(e.Command.CommandText)
Console.WriteLine(e.StatementType)
Console.WriteLine(e.Status)
End Sub 'OnRowUpdated
public void Snippet5()
{
// Create DataAdapter
//
SqlCeDataAdapter adp = new SqlCeDataAdapter(
"SELECT * FROM products",
"Data Source = MyDatabase.sdf");
SqlCeCommandBuilder cb = new SqlCeCommandBuilder(adp);
// Create and fill the dataset (select only first 5 rows)
//
DataSet ds = new DataSet();
adp.Fill(ds, 0, 5, "Table");
// Modify dataSet
//
DataTable table = ds.Tables["Table"];
table.Rows[1]["Product Name"] = "Asian Chai";
// Add handlers
//
adp.RowUpdating += new SqlCeRowUpdatingEventHandler(OnRowUpdating);
adp.RowUpdated += new SqlCeRowUpdatedEventHandler(OnRowUpdated);
// Update, this operation fires two events (RowUpdating/RowUpdated)
//
adp.Update(ds, "Table");
// Remove handlers
//
adp.RowUpdating -= new SqlCeRowUpdatingEventHandler(OnRowUpdating);
adp.RowUpdated -= new SqlCeRowUpdatedEventHandler(OnRowUpdated);
}
private static void OnRowUpdating(object sender, SqlCeRowUpdatingEventArgs e)
{
Console.WriteLine("OnRowUpdating");
Console.WriteLine(e.Command.CommandText);
Console.WriteLine(e.StatementType);
Console.WriteLine(e.Status);
}
private static void OnRowUpdated(object sender, SqlCeRowUpdatedEventArgs e)
{
Console.WriteLine("OnRowUpdated");
Console.WriteLine(e.Command.CommandText);
Console.WriteLine(e.StatementType);
Console.WriteLine(e.Status);
}