SqlCeDataAdapter.RowUpdating Event
Occurs during a call to Update before an update command is executed against the data source. The attempt to update is made, and then this event fires.
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 supports the use of events, but not the declaration of new ones.
Remarks
When using Update, there are two events that occur for each data row updated. The order of execution is as follows:
The values in the DataRow are moved to the parameter values.
The OnRowUpdating event is raised.
The command executes.
If the command is set to FirstReturnedRecord, then the first returned result is placed in the DataRow.
The OnRowUpdated event is raised.
AcceptChanges is called.
Examples
The following example shows the RowUpdating and RowUpdated events in use.
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);
}