次の方法で共有


SqlRowUpdatingEventArgs クラス

RowUpdating イベントのデータを提供します。このクラスは継承できません。

この型のすべてのメンバの一覧については、SqlRowUpdatingEventArgs メンバ を参照してください。

System.Object
   System.EventArgs
      System.Data.Common.RowUpdatingEventArgs
         System.Data.SqlClient.SqlRowUpdatingEventArgs

NotInheritable Public Class SqlRowUpdatingEventArgs
   Inherits RowUpdatingEventArgs
[C#]
public sealed class SqlRowUpdatingEventArgs : RowUpdatingEventArgs
[C++]
public __gc __sealed class SqlRowUpdatingEventArgs : public
   RowUpdatingEventArgs
[JScript]
public class SqlRowUpdatingEventArgs extends RowUpdatingEventArgs

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

RowUpdating イベントは、行に対して Update が実行される前に発生します。

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

  1. DataRow 内の値が、パラメータ値に移動されます。
  2. OnRowUpdating イベントが発生します。
  3. コマンドが実行されます。
  4. コマンドが FirstReturnedRecord に設定されている場合は、最初に返された結果が DataRow に格納されます。
  5. 出力パラメータがある場合は、それが DataRow に格納されます。
  6. OnRowUpdated イベントが発生します。
  7. AcceptChanges が呼び出されます。

使用例

[Visual Basic, C#, C++] RowUpdating イベントと RowUpdated イベントを使用する方法を次の例に示します。

[Visual Basic, C#, C++] RowUpdating イベントは、次の出力を返します。

[Visual Basic, C#, C++] イベント引数: (command=System.Data.SqlClient.SQLCommand commandType=2 status=0)

[Visual Basic, C#, C++] RowUpdated イベントは、次の出力を返します。

[Visual Basic, C#, C++] イベント引数: (command=System.Data.SqlClient.SQLCommand commandType=2 recordsAffected=1 row=System.Data.DataRow[37] status=0)

 
'Handler for RowUpdating event.
Protected Shared Sub OnRowUpdating(sender As Object, e As SqlRowUpdatingEventArgs)
    PrintEventArgs(e)
End Sub 'OnRowUpdating

'Handler for RowUpdated event.
Protected Shared Sub OnRowUpdated(sender As Object, e As SqlRowUpdatedEventArgs)
    PrintEventArgs(e)
End Sub 'OnRowUpdated

'Entry point which delegates to C-style main Private Function.
Public Overloads Shared Sub Main()
    System.Environment.ExitCode = Main(System.Environment.GetCommandLineArgs())
End Sub

Overloads Public Shared Function Main(args() As String) As Integer
    Const CONNECTION_STRING As String = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer"
    Const SELECT_ALL As String = "select * from Products"
    
    'Create DataAdapter.
    Dim rAdapter As New SqlDataAdapter(SELECT_ALL, CONNECTION_STRING)
    
    'Create and fill DataSet (Select only first 5 rows.).
    Dim rDataSet As New DataSet()
    rAdapter.Fill(rDataSet, 0, 5, "Table")
    
    'Modify DataSet.
    Dim rTable As DataTable = rDataSet.Tables("Table")
    rTable.Rows(0)(1) = "new product"
    
    'Add handlers.
    AddHandler rAdapter.RowUpdating, AddressOf OnRowUpdating
    AddHandler rAdapter.RowUpdated, AddressOf OnRowUpdated
    
    'Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row. 
    rAdapter.Update(rDataSet, "Table")
    
    'Remove handlers.
    RemoveHandler rAdapter.RowUpdating, AddressOf OnRowUpdating
    RemoveHandler rAdapter.RowUpdated, AddressOf OnRowUpdated
    Return 0
End Function 'Main

Overloads Protected 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 'PrintEventArgs


Overloads Protected 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 'PrintEventArgs

[C#] 
// handler for RowUpdating event
 protected static void OnRowUpdating(object sender, SqlRowUpdatingEventArgs e) {
    PrintEventArgs(e);
 }
 
 //Handler for RowUpdated event.
 protected static void OnRowUpdated(object sender, SqlRowUpdatedEventArgs e) {
    PrintEventArgs(e);
 }
 
 public static int Main(String[] args) {
    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;
 }
 
 protected static void PrintEventArgs(SqlRowUpdatingEventArgs args) {
    Console.WriteLine("OnRowUpdating");
    Console.WriteLine("  event args: ("+
           " command=" + args.Command + 
           " commandType=" + args.StatementType + 
           " status=" + args.Status + ")");
 }
 
 protected static void PrintEventArgs(SqlRowUpdatedEventArgs args) {
    Console.WriteLine("OnRowUpdated");
    Console.WriteLine("  event args: ("+
           " command=" + args.Command +
           " commandType=" + args.StatementType + 
           " recordsAffected=" + args.RecordsAffected + 
           " status=" + args.Status + ")");
 }

[C++] 
// handler for RowUpdating event
protected:
 static void OnRowUpdating(Object* sender, SqlRowUpdatingEventArgs* e) {
    PrintEventArgs(e);
 }
 
 //Handler for RowUpdated event.
protected:
 static void OnRowUpdated(Object* sender, SqlRowUpdatedEventArgs* e) {
    PrintEventArgs(e);
 }
 
public:
 static int main() {
    String* CONNECTION_STRING = S"Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer";
    String* SELECT_ALL = S"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, S"Table");
 
    //Modify DataSet.
    DataTable* rTable = rDataSet->Tables->Item[S"Table"];
    rTable->Rows->Item[0]->Item[1] = S"new product";
 
    //Add handlers.
    rAdapter->RowUpdating += new SqlRowUpdatingEventHandler(0,  OnRowUpdating );
    rAdapter->RowUpdated += new SqlRowUpdatedEventHandler(0,  OnRowUpdated );
 
    //Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row. 
    rAdapter->Update(rDataSet, S"Table");
 
    //Remove handlers.
    rAdapter->RowUpdating -= new SqlRowUpdatingEventHandler(0,  OnRowUpdating );
    rAdapter->RowUpdated -= new SqlRowUpdatedEventHandler(0,  OnRowUpdated );
    return 0;
 }
 
protected:
 static void PrintEventArgs(SqlRowUpdatingEventArgs* args) {
    Console::WriteLine(S"OnRowUpdating");
    Console::WriteLine(String::Format( S"  event args: ( command={0} commandType={1} status={2})",
       args->Command, __box(args->StatementType), __box(args->Status)));
 }
 
 static void PrintEventArgs(SqlRowUpdatedEventArgs* args) {
    Console::WriteLine(S"OnRowUpdated");
    Console::WriteLine(String::Concat(
       String::Format( S"  event args: ( command={0} commandType={1}", args->Command, __box(args->StatementType)),
       String::Format( S" recordsAffected={2} status={3})", __box(args->RecordsAffected), __box(args->Status))));
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data.SqlClient

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Data (System.Data.dll 内)

参照

SqlRowUpdatingEventArgs メンバ | System.Data.SqlClient 名前空間