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)
Syntax
'Declaration
Public NotInheritable Class OracleCommandBuilder
Inherits DbCommandBuilder
'Usage
Dim instance As OracleCommandBuilder
public sealed class OracleCommandBuilder : DbCommandBuilder
public ref class OracleCommandBuilder sealed : public DbCommandBuilder
public final class OracleCommandBuilder extends DbCommandBuilder
public final class OracleCommandBuilder extends DbCommandBuilder
Hinweise
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.
Beispiel
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;
}
Vererbungshierarchie
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommandBuilder
System.Data.OracleClient.OracleCommandBuilder
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
OracleCommandBuilder-Member
System.Data.OracleClient-Namespace