SqlDataAdapter.RowUpdated Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt während der Ausführung von Update(DataSet) ein, nachdem ein Befehl für die Datenquelle ausgeführt wurde. Es wird eine Aktualisierung versucht, also wird das Ereignis ausgelöst.
public:
event Microsoft::Data::SqlClient::SqlRowUpdatedEventHandler ^ RowUpdated;
public event Microsoft.Data.SqlClient.SqlRowUpdatedEventHandler RowUpdated;
member this.RowUpdated : Microsoft.Data.SqlClient.SqlRowUpdatedEventHandler
Public Custom Event RowUpdated As SqlRowUpdatedEventHandler
Ereignistyp
Beispiele
Das folgende Beispiel zeigt, wie sowohl die RowUpdatingRowUpdated Ereignisse als auch verwendet werden.
Das RowUpdating Ereignis gibt die folgende Ausgabe zurück:
event args: (command=Microsoft.Data.SqlClient.SqlCommand commandType=2 status=0)
Das RowUpdated Ereignis gibt die folgende Ausgabe zurück:
event args: (command=Microsoft.Data.SqlClient.SqlCommand commandType=2 recordsAffected=1 row=System.Data.DataRow[37] status=0)
using Microsoft.Data.SqlClient;
using System.Xml;
using System.Data.Common;
using System.Windows.Forms;
public class Form1 : Form
{
private DataSet DataSet1;
private DataGrid dataGrid1;
// handler for RowUpdating event
private static void OnRowUpdating(object sender, SqlRowUpdatingEventArgs e)
{
PrintEventArgs(e);
}
// handler for RowUpdated event
private static void OnRowUpdated(object sender, SqlRowUpdatedEventArgs e)
{
PrintEventArgs(e);
}
public static int Main()
{
const string connectionString =
"Integrated Security=SSPI;database=Northwind;server=MSSQL1";
const string queryString = "SELECT * FROMProducts";
// create DataAdapter
SqlDataAdapter adapter = new SqlDataAdapter(queryString, connectionString);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
// Create and fill DataSet (select only first 5 rows)
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, 0, 5, "Table");
// Modify DataSet
DataTable table = dataSet.Tables["Table"];
table.Rows[0][1] = "new product";
// add handlers
adapter.RowUpdating += new SqlRowUpdatingEventHandler(OnRowUpdating);
adapter.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated);
// update, this operation fires two events
// (RowUpdating/RowUpdated) per changed row
adapter.Update(dataSet, "Table");
// remove handlers
adapter.RowUpdating -= new SqlRowUpdatingEventHandler(OnRowUpdating);
adapter.RowUpdated -= new SqlRowUpdatedEventHandler(OnRowUpdated);
return 0;
}
private static void PrintEventArgs(SqlRowUpdatingEventArgs args)
{
Console.WriteLine("OnRowUpdating");
Console.WriteLine(" event args: (" +
" command=" + args.Command +
" commandType=" + args.StatementType +
" status=" + args.Status + ")");
}
private static void PrintEventArgs(SqlRowUpdatedEventArgs args)
{
Console.WriteLine("OnRowUpdated");
Console.WriteLine(" event args: (" +
" command=" + args.Command +
" commandType=" + args.StatementType +
" recordsAffected=" + args.RecordsAffected +
" status=" + args.Status + ")");
}
}
Hinweise
Wenn Sie verwenden Update, gibt es zwei Ereignisse, die pro aktualisierter Datenzeile auftreten. Die Ausführungsreihenfolge lautet wie folgt:
Die Werte in werden DataRow 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 DataRowplatziert.Wenn Ausgabeparameter vorhanden sind, werden sie im DataRowplatziert.
Das OnRowUpdated-Ereignis wird ausgelöst.
AcceptChanges wird aufgerufen.