Share via


SqlRowUpdatingEventArgs Classe

Définition

Fournit des données pour l'événement RowUpdating.

public ref class SqlRowUpdatingEventArgs sealed : System::Data::Common::RowUpdatingEventArgs
public sealed class SqlRowUpdatingEventArgs : System.Data.Common.RowUpdatingEventArgs
type SqlRowUpdatingEventArgs = class
    inherit RowUpdatingEventArgs
Public NotInheritable Class SqlRowUpdatingEventArgs
Inherits RowUpdatingEventArgs
Héritage
SqlRowUpdatingEventArgs

Exemples

L’exemple suivant montre comment utiliser les RowUpdating événements et .RowUpdated

L’événement RowUpdating retourne cette sortie :

arguments d’événement : (command=Microsoft.Data.SqlClient.SQLCommand commandType=2 status=0)

L’événement RowUpdated retourne cette sortie :

arguments d’événement : (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 CONNECTION_STRING = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer";
        const string SELECT_ALL = "select * from Products";

        //Create DataAdapter.
        SqlDataAdapter rAdapter = new SqlDataAdapter(SELECT_ALL, CONNECTION_STRING);

        //Create and fill DataSet (Select only first 5 rows.).
        DataSet rDataSet = new DataSet();
        rAdapter.Fill(rDataSet, 0, 5, "Table");

        //Modify DataSet.
        DataTable rTable = rDataSet.Tables["Table"];
        rTable.Rows[0][1] = "new product";

        //Add handlers.
        rAdapter.RowUpdating += new SqlRowUpdatingEventHandler(OnRowUpdating);
        rAdapter.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated);

        //Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row. 
        rAdapter.Update(rDataSet, "Table");

        //Remove handlers.
        rAdapter.RowUpdating -= new SqlRowUpdatingEventHandler(OnRowUpdating);
        rAdapter.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 + ")");
    }
}

Remarques

L’événement RowUpdating est déclenché avant un Update à une ligne.

Lorsque vous utilisez Update, deux événements se produisent pour chaque ligne de données mise à jour. L’ordre d’exécution est le suivant :

  1. Les valeurs dans le DataRow sont déplacées vers les valeurs de paramètre.

  2. L'événement OnRowUpdating est déclenché.

  3. La commande s’exécute.

  4. Si la commande a la FirstReturnedRecordvaleur , et que le premier résultat retourné est placé dans .DataRow

  5. S’il existe des paramètres de sortie, ils sont placés dans .DataRow

  6. L'événement OnRowUpdated est déclenché.

  7. AcceptChanges est appelée.

Constructeurs

SqlRowUpdatingEventArgs(DataRow, IDbCommand, StatementType, DataTableMapping)

Initialise une nouvelle instance de la classe SqlRowUpdatingEventArgs.

Propriétés

Command

Obtient ou définit le SqlCommand à exécuter en même temps que Update(DataSet).

S’applique à