Язык

SqlRowUpdatingEventArgs Класс

Определение

Предоставляет данные о событии 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
Наследование
SqlRowUpdatingEventArgs

Примеры

В следующем примере показано, как использовать события RowUpdating и RowUpdated .

Событие RowUpdating возвращает следующие выходные данные:

аргументы event: (command=Microsoft.Data.SqlClient.SQLCommand commandType=2 status=0)

Событие RowUpdated возвращает следующие выходные данные:

аргументы event: (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 + ")");
    }
}

Комментарии

Событие RowUpdating вызывается перед элементом в Update строку.

При использовании Updateсуществует два события, которые происходят для каждой обновленной строки данных. Порядок выполнения выглядит следующим образом:

  1. Значения в перемещены DataRow в значения параметров.

  2. Возникает событие OnRowUpdating.

  3. Выполняется команда .

  4. Если для команды задано значение FirstReturnedRecord, а первый возвращенный результат помещается в DataRow.

  5. Если есть выходные параметры, они помещаются в DataRow.

  6. Возникает событие OnRowUpdated.

  7. Вызывается метод AcceptChanges.

Конструкторы

Имя Описание
SqlRowUpdatingEventArgs(DataRow, IDbCommand, StatementType, DataTableMapping)

Инициализирует новый экземпляр класса SqlRowUpdatingEventArgs.

Свойства

Имя Описание
Command

Возвращает или задает команду SqlCommand, которую необходимо выполнить в процессе Update(DataSet).

Применяется к