Sdílet prostřednictvím


SqlRowUpdatedEventArgs Třída

Definice

Poskytuje data pro událost RowUpdated.

public ref class SqlRowUpdatedEventArgs sealed : System::Data::Common::RowUpdatedEventArgs
public sealed class SqlRowUpdatedEventArgs : System.Data.Common.RowUpdatedEventArgs
type SqlRowUpdatedEventArgs = class
    inherit RowUpdatedEventArgs
Public NotInheritable Class SqlRowUpdatedEventArgs
Inherits RowUpdatedEventArgs
Dědičnost
SqlRowUpdatedEventArgs

Příklady

Následující příklad ukazuje, jak používat RowUpdating události a RowUpdated .

Událost RowUpdating vrátí tento výstup:

Argumenty události: (command=Microsoft.Data.SqlClient.SqlCommand commandType=2 status=0)

Událost RowUpdated vrátí tento výstup:

Argumenty události: (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 + ")");
    }
}

Poznámky

Událost RowUpdated je vyvolána při Update dokončení příkazu k řádku.

Při použití nástroje Updateexistují dvě události, ke kterým dochází pro každý aktualizovaný řádek dat. Pořadí provádění je následující:

  1. Hodnoty v parametru DataRow se přesunou do hodnot parametrů.

  2. Událost OnRowUpdating je vyvolána.

  3. Příkaz se spustí.

  4. Pokud je příkaz nastavený na FirstReturnedRecordhodnotu a první vrácený výsledek se umístí do DataRow.

  5. Pokud existují výstupní parametry, umístí se do DataRow.

  6. Událost OnRowUpdated je vyvolána.

  7. Volá se AcceptChanges.

Konstruktory

SqlRowUpdatedEventArgs(DataRow, IDbCommand, StatementType, DataTableMapping)

Inicializuje novou instanci SqlRowUpdatedEventArgs třídy .

Vlastnosti

Command

Získá nebo nastaví SqlCommand spuštění při Update(DataSet) je volána.

Platí pro