OracleRowUpdatingEventArgs Class

 

Provides data for the RowUpdating event.

Namespace:   System.Data.OracleClient
Assembly:  System.Data.OracleClient (in System.Data.OracleClient.dll)

System.Object
  System.EventArgs
    System.Data.Common.RowUpdatingEventArgs
      System.Data.OracleClient.OracleRowUpdatingEventArgs

public sealed class OracleRowUpdatingEventArgs : RowUpdatingEventArgs

NameDescription
System_CAPS_pubmethodOracleRowUpdatingEventArgs(DataRow, IDbCommand, StatementType, DataTableMapping)

Initializes a new instance of the OracleRowUpdatingEventArgs class.

NameDescription
System_CAPS_pubpropertyCommand

Gets or sets the OracleCommand to execute when performing the Update.

System_CAPS_pubpropertyErrors

Gets any errors generated by the .NET Framework data provider when the Command executes.(Inherited from RowUpdatingEventArgs.)

System_CAPS_pubpropertyRow

Gets the DataRow that will be sent to the server as part of an insert, update, or delete operation.(Inherited from RowUpdatingEventArgs.)

System_CAPS_pubpropertyStatementType

Gets the type of SQL statement to execute.(Inherited from RowUpdatingEventArgs.)

System_CAPS_pubpropertyStatus

Gets or sets the UpdateStatus of the Command property.(Inherited from RowUpdatingEventArgs.)

System_CAPS_pubpropertyTableMapping

Gets the DataTableMapping to send through the Update.(Inherited from RowUpdatingEventArgs.)

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

The RowUpdating event is raised before an Update to a row.

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, 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=OracleCommand commandType=2 status=0)

The RowUpdated event returns this output:

Event Arguments: (command=OracleCommand commandType=2 recordsAffected=1 row=DataRow[37] status=0)

// handler for RowUpdating event
private static void OnRowUpdating(object sender, OracleRowUpdatingEventArgs e) 
{
    PrintEventArgs(e);
}

//Handler for RowUpdated event.
private static void OnRowUpdated(object sender, OracleRowUpdatedEventArgs e) 
{
    PrintEventArgs(e);
}

public static int Main(String[] args) 
{
    const string CONNECTION_STRING = "Data Source=Oracle8i;Integrated Security=yes";
    const string SELECT_ALL = "SELECT * FROM Scott.Emp";

    //Create DataAdapter.
    OracleDataAdapter rAdapter    = new OracleDataAdapter(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] = "DYZY";

    //Add handlers.
    rAdapter.RowUpdating += new OracleRowUpdatingEventHandler( OnRowUpdating );
    rAdapter.RowUpdated += new OracleRowUpdatedEventHandler( OnRowUpdated );

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

    //Remove handlers.
    rAdapter.RowUpdating -= new OracleRowUpdatingEventHandler( OnRowUpdating );
    rAdapter.RowUpdated -= new OracleRowUpdatedEventHandler( OnRowUpdated );
    return 0;
}

private static void PrintEventArgs(OracleRowUpdatingEventArgs args) 
{
    Console.WriteLine("OnRowUpdating");
    Console.WriteLine("  event args: ("+
        " command=" + args.Command + 
        " commandType=" + args.StatementType + 
        " status=" + args.Status + ")");
}

private static void PrintEventArgs(OracleRowUpdatedEventArgs args) 
{
    Console.WriteLine("OnRowUpdated");
    Console.WriteLine("  event args: ("+
        " command=" + args.Command +
        " commandType=" + args.StatementType + 
        " recordsAffected=" + args.RecordsAffected + 
        " status=" + args.Status + ")");
}

.NET Framework
Available since 1.1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: