Freigeben über


OracleRowUpdatingEventArgs-Klasse

Stellt Daten für das RowUpdating-Ereignis bereit.

Namespace: System.Data.OracleClient
Assembly: System.Data.OracleClient (in system.data.oracleclient.dll)

Syntax

'Declaration
Public NotInheritable Class OracleRowUpdatingEventArgs
    Inherits RowUpdatingEventArgs
'Usage
Dim instance As OracleRowUpdatingEventArgs
public sealed class OracleRowUpdatingEventArgs : RowUpdatingEventArgs
public ref class OracleRowUpdatingEventArgs sealed : public RowUpdatingEventArgs
public final class OracleRowUpdatingEventArgs extends RowUpdatingEventArgs
public final class OracleRowUpdatingEventArgs extends RowUpdatingEventArgs

Hinweise

Das RowUpdating-Ereignis wird ausgelöst, bevor eine Update in einer Zeile aufgerufen wird.

Wenn Sie Update verwenden, treten pro aktualisierter Datenzeile zwei Ereignisse ein. Die Ausführung erfolgt in der folgenden Reihenfolge:

  1. Die Werte in der DataRow werden in die Parameterwerte verschoben.

  2. Das OnRowUpdating-Ereignis wird ausgelöst.

  3. Der Befehl wird ausgeführt.

  4. Wenn der Befehl auf FirstReturnedRecord festgelegt ist, wird das erste zurückgegebene Ergebnis in der DataRow platziert.

  5. Wenn Ausgabeparameter vorhanden sind, werden diese in der DataRow platziert.

  6. Das OnRowUpdated-Ereignis wird ausgelöst.

  7. AcceptChanges wird aufgerufen.

Beispiel

Das folgende Beispiel veranschaulicht, wie das RowUpdating-Ereignis und das RowUpdated-Ereignis verwendet werden.

Das RowUpdating-Ereignis gibt die folgende Ausgabe zurück:

Event Arguments: (command=OracleCommand commandType=2 status=0)

Das RowUpdated-Ereignis gibt die folgende Ausgabe zurück:

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

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

'Handler for RowUpdated event.
Private Shared Sub OnRowUpdated(sender As Object, e As OracleRowUpdatedEventArgs)
    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 = "Data Source=Oracle8i;Integrated Security=yes"
    Const SELECT_ALL As String = "SELECT * FROM Scott.Emp"
    
    'Create DataAdapter.
    Dim rAdapter As New OracleDataAdapter(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) = "DYZY"
    
    '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 Private Shared Sub PrintEventArgs(args As OracleRowUpdatingEventArgs)
    Console.WriteLine("OnRowUpdating")
    Console.WriteLine("  event args: (" & _
                    " command=" & _
                    args.Command.CommandText & _
                    " commandType=" & _
                    args.StatementType & _
                    " status=" & _
                    args.Status & _
                    ")")
End Sub 'PrintEventArgs


Overloads Private Shared Sub PrintEventArgs(args As OracleRowUpdatedEventArgs)
    Console.WriteLine("OnRowUpdated")
    Console.WriteLine("  event args: (" & _
                    " command=" & _
                    args.Command.CommandText & _
                    " commandType=" & _
                    args.StatementType & _
                    " recordsAffected=" & _
                    args.RecordsAffected & _
                    " status=" & _
                    args.Status & _
                    ")")
End Sub 'PrintEventArgs
// 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 + ")");
}

Vererbungshierarchie

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

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1

Siehe auch

Referenz

OracleRowUpdatingEventArgs-Member
System.Data.OracleClient-Namespace