This topic has not yet been rated - Rate this topic

SqlRowUpdatedEventArgs Class

Provides data for the RowUpdated event.

System.Object
  System.EventArgs
    System.Data.Common.RowUpdatedEventArgs
      System.Data.SqlClient.SqlRowUpdatedEventArgs

Namespace:  System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)
public sealed class SqlRowUpdatedEventArgs : RowUpdatedEventArgs

The SqlRowUpdatedEventArgs type exposes the following members.

  Name Description
Public method SqlRowUpdatedEventArgs Initializes a new instance of the SqlRowUpdatedEventArgs class.
Top
  Name Description
Public property Command Gets or sets the SqlCommand executed when Update is called.
Public property Errors Gets any errors generated by the .NET Framework data provider when the Command was executed. (Inherited from RowUpdatedEventArgs.)
Public property RecordsAffected Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. (Inherited from RowUpdatedEventArgs.)
Public property Row Gets the DataRow sent through an Update. (Inherited from RowUpdatedEventArgs.)
Public property RowCount Gets the number of rows processed in a batch of updated records. (Inherited from RowUpdatedEventArgs.)
Public property StatementType Gets the type of SQL statement executed. (Inherited from RowUpdatedEventArgs.)
Public property Status Gets the UpdateStatus of the Command property. (Inherited from RowUpdatedEventArgs.)
Public property TableMapping Gets the DataTableMapping sent through an Update. (Inherited from RowUpdatedEventArgs.)
Top
  Name Description
Public method CopyToRows(DataRow[]) Copies references to the modified rows into the provided array. (Inherited from RowUpdatedEventArgs.)
Public method CopyToRows(DataRow[], Int32) Copies references to the modified rows into the provided array. (Inherited from RowUpdatedEventArgs.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top

The RowUpdated event is raised when an Update to a row is completed.

When using Update, there are two events that occur for each data row updated. The order of execution is as follows:

  1. The values in the DataRow are moved to the parameter values.

  2. The OnRowUpdating event is raised.

  3. The command executes.

  4. If the command is set to FirstReturnedRecord, and the first returned result is placed in the DataRow.

  5. If there are output parameters, they are placed in the DataRow.

  6. The OnRowUpdated event is raised.

  7. AcceptChanges is called.

The following example shows how to use both the RowUpdating and RowUpdated events.

The RowUpdating event returns this output:

Event Arguments: (command=System.Data.SqlClient.SqlCommand commandType=2 status=0)

The RowUpdated event returns this output:

Event Arguments: (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 = 
              "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 + ")");
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ