Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

OracleCommandBuilder-Klasse

Generiert automatisch Befehle für einzelne Tabellen, durch die an einem DataSet vorgenommene Änderungen mit der zugeordneten Datenbank abgeglichen werden. Die Klasse kann nicht geerbt werden.

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

public sealed class OracleCommandBuilder : DbCommandBuilder
public final class OracleCommandBuilder extends DbCommandBuilder
public final class OracleCommandBuilder extends DbCommandBuilder

OracleDataAdapter generiert nicht automatisch die SQL-Anweisungen, die für den Abgleich von Änderungen an einem der Datenbank zugeordneten DataSet erforderlich sind. Sie können jedoch ein OracleCommandBuilder-Objekt erstellen, das SQL-Anweisungen für das Aktualisieren einzelner Tabellen generiert. Dazu legen Sie die SelectCommand-Eigenschaft von OracleDataAdapter fest. Anschließend generiert der OracleCommandBuilder zusätzliche, nicht vom Benutzer festgelegte SQL-Anweisungen.

Die Beziehung zwischen einem OracleDataAdapter und seinem entsprechenden OracleCommandBuilder ist stets eine 1:1-Beziehung. Legen Sie die OracleDataAdapter-Eigenschaft des OracleCommandBuilder-Objekts fest, um diese Zuordnung zu erstellen. Dadurch registriert der OracleCommandBuilder sich selbst als Listener, und es werden RowUpdating-Ereignisse ausgegeben, die das DataSet betreffen.

Zum Generieren von INSERT-, UPDATE- und DELETE-Anweisungen verwendet OracleCommandBuilder die SelectCommand-Eigenschaft, um einen erforderlichen Satz von Metadaten abzurufen.

OracleCommandBuilder verwendet auch die Connection-Eigenschaft und die Transaction-Eigenschaft, auf die durch SelectCommand verwiesen wird.

Wenn Sie die Dispose-Methode aufrufen, wird die Zuordnung der OracleCommandBuilder-Klasse zur OracleDataAdapter-Klasse aufgehoben, und die generierten Befehle werden nicht mehr verwendet.

Im folgenden Beispiel wird OracleCommand gemeinsam mit OracleDataAdapter und OracleConnection zum Auswählen von Zeilen aus einer Datenbank verwendet. Im Beispiel werden ein initialisiertes DataSet, eine Verbindungszeichenfolge, eine SQL-SELECT-Anweisung als Abfragezeichenfolge sowie eine Zeichenfolge mit dem Namen der Datenbanktabelle übergeben. Anschließend wird im Beispiel ein OracleCommandBuilder erstellt.

[Visual Basic]

Private Function SelectOracleRows(connection As String, queryString As String, tableName As String) As DataSet

   Dim connection As New OracleConnection(connection)
   Dim dataAdapter As New OracleDataAdapter()
   Dim dataSet As DataSet = New DataSet

   dataAdapter.SelectCommand = New OracleCommand(queryString, connection)

   Dim cmdBuilder As OracleCommandBuilder = New OracleCommandBuilder(dataAdapter)

   connection.Open()
   dataAdapter.Fill(dataSet, tableName)
      ' Code to modify data in DataSet here 
      ' Without the OracleCommandBuilder this line would fail.
   dataAdapter.Update(dataSet, tableName)
   connection.Close()
End Function

[C#]

public static DataSet SelectOracleSrvRows(string myConnection, string mySelectQuery, string myTableName)
{
   OracleConnection myConn = new OracleConnection(myConnection);
   OracleDataAdapter myDataAdapter = new OracleDataAdapter();
   myDataAdapter.SelectCommand = new OracleCommand(mySelectQuery, myConn);
   OracleCommandBuilder cb = new OracleCommandBuilder(myDataAdapter);

   myConn.Open();
   DataSet ds = new DataSet();
   myDataAdapter.Fill(ds, myTableName);

   //Code to modify data in DataSet goes here...

   //Without the OracleCommandBuilder this line would fail.
   myDataAdapter.Update(ds, myTableName);
   myConn.Close();
   return ds;
}

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbCommandBuilder
        System.Data.OracleClient.OracleCommandBuilder

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

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.

.NET Framework

Unterstützt in: 2.0, 1.1
Anzeigen: