Auf Englisch lesen

Teilen über


SqlDataAdapter.RowUpdated Ereignis

Definition

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.

C#
public event System.Data.SqlClient.SqlRowUpdatedEventHandler RowUpdated;
C#
[System.Data.DataSysDescription("DbDataAdapter_RowUpdated")]
public event System.Data.SqlClient.SqlRowUpdatedEventHandler RowUpdated;

Ereignistyp

Attribute

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=System.Data.SqlClient.SqlCommand commandType=2 status=0)

Das RowUpdated Ereignis gibt die folgende Ausgabe zurück:

event args: (command=System.Data.SqlClient.SqlCommand commandType=2 recordsAffected=1 row=System.Data.DataRow[37] status=0)

C#
// 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 * FROM Products";

    // 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:

  1. Die Werte in werden DataRow in die Parameterwerte verschoben.

  2. Das OnRowUpdating-Ereignis wird ausgelöst.

  3. Der Befehl wird ausgeführt.

  4. Wenn der Befehl auf FirstReturnedRecordfestgelegt ist, wird das erste zurückgegebene Ergebnis in der DataRowplatziert.

  5. Wenn Ausgabeparameter vorhanden sind, werden sie im DataRowplatziert.

  6. Das OnRowUpdated-Ereignis wird ausgelöst.

  7. AcceptChanges wird aufgerufen.

Gilt für:

Produkt Versionen
.NET 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

Weitere Informationen