SqlRowUpdatedEventArgs クラス

定義

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
継承
SqlRowUpdatedEventArgs

次の例は、 RowUpdating イベントと RowUpdated イベントの両方を使用する方法を示しています。

RowUpdating イベントは、次の出力を返します。

イベント引数: (command=System.Data.SqlClient.SqlCommand commandType=2 status=0)

RowUpdated イベントは、次の出力を返します。

イベント引数: (command=System.Data.SqlClient.SqlCommand commandType=2 recordsAffected=1 row=System.Data.DataRow[37] status=0)

// 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 = "...";
    const string queryString = "SELECT * FROM Products";

    // create DataAdapter
    SqlDataAdapter adapter = new(queryString, connectionString);
    SqlCommandBuilder builder = new(adapter);

    // Create and fill DataSet (select only first 5 rows)
    DataSet dataSet = new();
    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 + ")");
}
    ' handler for RowUpdating event
    Private Shared Sub OnRowUpdating(sender As Object, e As SqlRowUpdatingEventArgs)
        PrintEventArgs(e)
    End Sub

    ' handler for RowUpdated event
    Private Shared Sub OnRowUpdated(sender As Object, e As SqlRowUpdatedEventArgs)
        PrintEventArgs(e)
    End Sub

    Public Overloads Shared Function Main(args() As String) As Integer
        Const connectionString As String = "..."
        Const queryString As String = "SELECT * FROM Products"

        ' create DataAdapter
        Dim adapter As New SqlDataAdapter(queryString, connectionString)
        Dim builder As New SqlCommandBuilder(adapter)

        ' Create and fill DataSet (select only first 5 rows)
        Dim dataSet As New DataSet()
        adapter.Fill(dataSet, 0, 5, "Table")

        ' Modify DataSet
        Dim table As DataTable = dataSet.Tables("Table")
        table.Rows(0)(1) = "new product"

        ' add handlers
        AddHandler adapter.RowUpdating, AddressOf OnRowUpdating
        AddHandler adapter.RowUpdated, AddressOf OnRowUpdated

        ' update, this operation fires two events
        '(RowUpdating/RowUpdated) per changed row
        adapter.Update(dataSet, "Table")

        ' remove handlers
        RemoveHandler adapter.RowUpdating, AddressOf OnRowUpdating
        RemoveHandler adapter.RowUpdated, AddressOf OnRowUpdated
        Return 0
    End Function


    Private Overloads Shared Sub PrintEventArgs(args As SqlRowUpdatingEventArgs)
        Console.WriteLine("OnRowUpdating")
        Console.WriteLine("  event args: (" & " command=" & args.Command.CommandText &
           " commandType=" & args.StatementType & " status=" & args.Status & ")")
    End Sub


    Private Overloads Shared Sub PrintEventArgs(args As SqlRowUpdatedEventArgs)
        Console.WriteLine("OnRowUpdated")
        Console.WriteLine("  event args: (" & " command=" & args.Command.CommandText &
           " commandType=" & args.StatementType & " recordsAffected=" &
           args.RecordsAffected & " status=" & args.Status & ")")
    End Sub
End Class

注釈

RowUpdated イベントは、行へのUpdateが完了したときに発生します。

Updateを使用する場合、更新されたデータ行ごとに 2 つのイベントが発生します。 実行の順序は次のとおりです。

  1. DataRow内の値はパラメーター値に移動されます。

  2. OnRowUpdating イベントが発生します。

  3. コマンドが実行されます。

  4. コマンドが FirstReturnedRecordに設定され、最初に返された結果が DataRowに配置される場合。

  5. 出力パラメーターがある場合は、DataRowに配置されます。

  6. OnRowUpdated イベントが発生します。

  7. AcceptChanges が呼び出されます

コンストラクター

名前 説明
SqlRowUpdatedEventArgs(DataRow, IDbCommand, StatementType, DataTableMapping)

SqlRowUpdatedEventArgs クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
Command

Update(DataSet)が呼び出されたときに実行されるSqlCommandを取得または設定します。

Errors

Commandの実行時に.NET データ プロバイダーによって生成されたエラーを取得します。

(継承元 RowUpdatedEventArgs)
RecordsAffected

SQL ステートメントの実行によって変更、挿入、または削除された行の数を取得します。

(継承元 RowUpdatedEventArgs)
Row

Update(DataSet)を介して送信されたDataRowを取得します。

(継承元 RowUpdatedEventArgs)
RowCount

更新されたレコードのバッチで処理される行の数を取得します。

(継承元 RowUpdatedEventArgs)
StatementType

実行される SQL ステートメントの型を取得します。

(継承元 RowUpdatedEventArgs)
Status

Command プロパティのUpdateStatusを取得します。

(継承元 RowUpdatedEventArgs)
TableMapping

Update(DataSet)を介して送信されたDataTableMappingを取得します。

(継承元 RowUpdatedEventArgs)

メソッド

名前 説明
CopyToRows(DataRow[], Int32)

指定された配列に変更された行への参照をコピーします。

(継承元 RowUpdatedEventArgs)
CopyToRows(DataRow[])

指定された配列に変更された行への参照をコピーします。

(継承元 RowUpdatedEventArgs)
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください