OdbcCommandBuilder Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Generiert automatisch Befehle für einzelne Tabellen, durch die an einem DataSet vorgenommene Änderungen mit der zugeordneten Datenquelle abgeglichen werden. Diese Klasse kann nicht vererbt werden.
public ref class OdbcCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public ref class OdbcCommandBuilder sealed : System::ComponentModel::Component
public sealed class OdbcCommandBuilder : System.Data.Common.DbCommandBuilder
public sealed class OdbcCommandBuilder : System.ComponentModel.Component
type OdbcCommandBuilder = class
inherit DbCommandBuilder
type OdbcCommandBuilder = class
inherit Component
Public NotInheritable Class OdbcCommandBuilder
Inherits DbCommandBuilder
Public NotInheritable Class OdbcCommandBuilder
Inherits Component
- Vererbung
- Vererbung
Beispiele
Im folgenden Beispiel wird verwendet OdbcCommand, zusammen mit OdbcDataAdapter und OdbcConnection, um Zeilen aus einer Datenquelle auszuwählen. Im Beispiel wird eine initialisierte DataSet, eine Verbindungszeichenfolge, eine Abfragezeichenfolge, bei der es sich um eine SQL SELECT-Anweisung handelt, und eine Zeichenfolge übergeben, die den Namen der Datenquellentabelle darstellt. Im Beispiel wird dann ein OdbcCommandBuildererstellt.
public static DataSet SelectOdbcSrvRows(string connectionString,
string queryString, string tableName)
{
DataSet dataSet = new DataSet();
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
OdbcDataAdapter adapter = new OdbcDataAdapter();
adapter.SelectCommand =
new OdbcCommand(queryString, connection);
OdbcCommandBuilder builder =
new OdbcCommandBuilder(adapter);
connection.Open();
adapter.Fill(dataSet, tableName);
//code to modify data in DataSet here
//Without the OdbcCommandBuilder this line would fail
adapter.Update(dataSet, tableName);
}
return dataSet;
}
Public Function SelectOdbcSrvRows( _
ByVal connectionString As String, ByVal queryString As String, _
ByVal tableName As String) As DataSet
Dim dataSet As New DataSet()
Using connection As New OdbcConnection(connectionString)
Dim adapter As New OdbcDataAdapter()
adapter.SelectCommand = _
New OdbcCommand(queryString, connection)
Dim builder As New OdbcCommandBuilder(adapter)
connection.Open()
adapter.Fill(dataSet, tableName)
' Code to modify data in DataSet here
' Without the OdbcCommandBuilder this line would fail.
adapter.Update(dataSet, tableName)
End Using
Return dataSet
End Function
Hinweise
Die OdbcDataAdapter generiert nicht automatisch die SQL-Anweisungen, die zum Abgleichen von Änderungen an einer DataSet der Datenquelle erforderlich sind. Sie können jedoch ein OdbcCommandBuilder -Objekt erstellen, das SQL-Anweisungen für Einzeltabellenupdates generiert, indem Sie die SelectCommand -Eigenschaft von OdbcDataAdapterfestlegen. Generiert OdbcCommandBuilder dann alle zusätzlichen SQL-Anweisungen, die Sie nicht festlegen.
Die Beziehung zwischen einem OdbcDataAdapter und dem entsprechenden OdbcCommandBuilder ist immer 1:1. Um diese Korrespondenz zu erstellen, legen Sie die OdbcDataAdapter -Eigenschaft des OdbcCommandBuilder -Objekts fest. Dies bewirkt, dass sich der OdbcCommandBuilder als Listener registriert, wodurch die Ausgabe von RowUpdating Ereignissen erzeugt wird, die sich auf auswirken DataSet.
Zum Generieren von INSERT-, UPDATE- oder DELETE-Anweisungen verwendet die OdbcCommandBuilderSelectCommand -Eigenschaft, um einen erforderlichen Satz von Metadaten abzurufen. Wenn Sie den Wert von SelectCommand ändern, nachdem die Metadaten abgerufen wurden, z. B. nach dem ersten Update, sollten Sie die -Methode aufrufen RefreshSchema , um die Metadaten zu aktualisieren.
Hinweis
Wenn die der SelectCommand Eigenschaft zugewiesene SELECT-Anweisung Spaltennamen mit Alias verwendet, sind die resultierenden INSERT-, UPDATE- und DELETE-Anweisungen möglicherweise ungenau oder schlagen fehl. Wenn der zugrunde liegende ODBC-Treiber den entsprechenden Basisspaltennamen für den Aliasspaltennamen nicht angeben kann (unter Verwendung des SQL_DESC_BASE_COLUMN_NAME Werts von SQLColAttribute
), kann der Aliasname in den generierten INSERT-, UPDATE- und DELETE-Anweisungen verwendet werden. Der Microsoft ODBC-Treiber für Oracle gibt beispielsweise den Aliasnamen als Basisspaltennamen zurück. Daher würden die generierten INSERT-, UPDATE- und DELETE-Anweisungen Fehler verursachen.
Verwendet OdbcCommandBuilder auch die ConnectionEigenschaften , CommandTimeoutund , auf Transaction die SelectCommandvon verwiesen wird. Der Benutzer sollte aufrufen RefreshSchema , wenn eine oder mehrere dieser Eigenschaften geändert werden oder wenn der Wert der SelectCommand Eigenschaft selbst geändert wird. Andernfalls behalten die InsertCommandEigenschaften , UpdateCommandund DeleteCommand ihre vorherigen Werte bei.
Wenn Sie aufrufen Dispose, wird die OdbcCommandBuilder Zuordnung zu OdbcDataAdapterdem getrennt, und die generierten Befehle werden nicht mehr verwendet.
Konstruktoren
OdbcCommandBuilder() |
Initialisiert eine neue Instanz der OdbcCommandBuilder-Klasse. |
OdbcCommandBuilder(OdbcDataAdapter) |
Initialisiert eine neue Instanz der OdbcCommandBuilder-Klasse mit dem zugeordneten OdbcDataAdapter-Objekt. |
Eigenschaften
CanRaiseEvents |
Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann. (Geerbt von Component) |
CatalogLocation |
Ruft die CatalogLocation für eine Instanz der DbCommandBuilder-Klasse ab oder legt sie fest. (Geerbt von DbCommandBuilder) |
CatalogSeparator |
Ruft eine Zeichenfolge als Katalogtrennzeichen für eine Instanz der DbCommandBuilder-Klasse ab oder legt sie fest. (Geerbt von DbCommandBuilder) |
ConflictOption |
Gibt an, welche ConflictOption vom DbCommandBuilder verwendet werden muss. (Geerbt von DbCommandBuilder) |
Container |
Ruft die IContainer ab, die in der Component enthalten ist. (Geerbt von Component) |
DataAdapter |
Ruft ein OdbcDataAdapter-Objekt ab, für das dieses OdbcCommandBuilder-Objekt SQL-Anweisungen generiert, oder legt dieses fest. |
DesignMode |
Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet. (Geerbt von Component) |
Events |
Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind. (Geerbt von Component) |
QuotePrefix |
Ruft das oder die Anfangszeichen ab, die beim Arbeiten mit Datenbankobjekten (z. B. Tabellen oder Spalten) verwendet werden sollen, deren Namen Zeichen wie Leerzeichen oder reservierte Token enthalten, oder legt diese fest. |
QuotePrefix |
Ruft das oder die Anfangszeichen ab, die beim Angeben von Datenbankobjekten (z. B. Tabellen oder Spalten) verwendet werden sollen, deren Namen Zeichen wie Leerzeichen oder reservierte Token enthalten, oder legt diese fest. (Geerbt von DbCommandBuilder) |
QuoteSuffix |
Ruft das oder die Endzeichen ab, die beim Arbeiten mit Datenbankobjekten (z. B. Tabellen oder Spalten) verwendet werden sollen, deren Namen Zeichen wie Leerzeichen oder reservierte Token enthalten, oder legt diese fest. |
QuoteSuffix |
Ruft das oder die Endzeichen ab, die beim Angeben von Datenbankobjekten (z. B. Tabellen oder Spalten) verwendet werden sollen, deren Namen Zeichen wie Leerzeichen oder reservierte Token enthalten, oder legt diese fest. (Geerbt von DbCommandBuilder) |
SchemaSeparator |
Ruft das als Trennzeichen zwischen dem Schemabezeichner und anderen Bezeichnern zu verwendende Zeichen ab oder legt dieses fest. (Geerbt von DbCommandBuilder) |
SetAllValues |
Gibt an, ob alle Spaltenwerte oder nur die geänderten in einer Aktualisierungsanweisung eingeschlossen sind. (Geerbt von DbCommandBuilder) |
Site |
Ruft den ISite von Component ab oder legt ihn fest. (Geerbt von Component) |
Methoden
ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean) |
Ermöglicht es der Anbieterimplementierung der DbCommandBuilder-Klasse, zusätzliche Parametereigenschaften zu behandeln. (Geerbt von DbCommandBuilder) |
CreateObjRef(Type) |
Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Geerbt von MarshalByRefObject) |
DeriveParameters(OdbcCommand) |
Ruft Parameterinformationen aus der im OdbcCommand angegebenen gespeicherten Prozedur ab und füllt die Parameters-Auflistung des angegebenen OdbcCommand-Objekts auf. |
Dispose() |
Gibt alle vom Component verwendeten Ressourcen frei. (Geerbt von Component) |
Dispose(Boolean) |
Gibt die von DbCommandBuilder verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. (Geerbt von DbCommandBuilder) |
Dispose(Boolean) |
Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. (Geerbt von Component) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetDeleteCommand() |
Ruft das automatisch generierte OdbcCommand-Objekt ab, das zum Ausführen von Löschvorgängen in der Datenquelle erforderlich ist. |
GetDeleteCommand(Boolean) |
Ruft das automatisch generierte OdbcCommand-Objekt ab, das zum Ausführen von Löschvorgängen in der Datenquelle erforderlich ist. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetInsertCommand() |
Ruft das automatisch generierte OdbcCommand-Objekt ab, das zum Ausführen von Einfügevorgängen in der Datenquelle erforderlich ist. |
GetInsertCommand(Boolean) |
Ruft das automatisch generierte OdbcCommand-Objekt ab, das zum Ausführen von Einfügevorgängen in der Datenquelle erforderlich ist. |
GetLifetimeService() |
Veraltet.
Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetParameterName(Int32) |
Gibt den Namen des angegebenen Parameters im Format zurück |
GetParameterName(String) |
Gibt den vollständigen Parameternamen zurück, wenn der partielle Parameternamen angegeben ist. (Geerbt von DbCommandBuilder) |
GetParameterPlaceholder(Int32) |
Gibt den Platzhalter für den Parameter in der zugeordneten SQL-Anweisung zurück. (Geerbt von DbCommandBuilder) |
GetSchemaTable(DbCommand) |
Gibt die Schematabelle für den DbCommandBuilder zurück. (Geerbt von DbCommandBuilder) |
GetService(Type) |
Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt. (Geerbt von Component) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetUpdateCommand() |
Ruft das automatisch generierte OdbcCommand-Objekt ab, das zum Ausführen von Aktualisierungen in der Datenquelle erforderlich ist. |
GetUpdateCommand(Boolean) |
Ruft das automatisch generierte OdbcCommand-Objekt ab, das zum Ausführen von Aktualisierungen in der Datenquelle erforderlich ist. |
InitializeCommand(DbCommand) |
Legt die Eigenschaften CommandTimeout, Transaction, CommandType und UpdateRowSource für DbCommand erneut fest. (Geerbt von DbCommandBuilder) |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab. (Geerbt von MarshalByRefObject) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
MemberwiseClone(Boolean) |
Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Geerbt von MarshalByRefObject) |
QuoteIdentifier(String) |
Bei einem Bezeichner ohne Anführungszeichen in der richtigen Katalogschreibweise wird die korrekte Form des jeweiligen Bezeichners mit Anführungszeichen zurückgegeben. Dies schließt ein, dass eingebettete Anführungszeichen im Bezeichner ordnungsgemäß mit Escapezeichen versehen werden. |
QuoteIdentifier(String, OdbcConnection) |
Bei einem Bezeichner ohne Anführungszeichen in der richtigen Katalogschreibweise wird die korrekte Form des jeweiligen Bezeichners mit Anführungszeichen zurückgegeben. Dies schließt ein, dass eingebettete Anführungszeichen im Bezeichner ordnungsgemäß mit Escapezeichen versehen werden. |
RefreshSchema() |
Löscht die diesem OdbcCommandBuilder zugeordneten Befehle. |
RefreshSchema() |
Löscht die diesem DbCommandBuilder zugeordneten Befehle. (Geerbt von DbCommandBuilder) |
RowUpdatingHandler(RowUpdatingEventArgs) |
Fügt einen Ereignishandler für das RowUpdating-Ereignis hinzu. (Geerbt von DbCommandBuilder) |
SetRowUpdatingHandler(DbDataAdapter) |
Registriert den DbCommandBuilder zum Behandeln des RowUpdating-Ereignisses für einen DbDataAdapter. (Geerbt von DbCommandBuilder) |
ToString() |
Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden. (Geerbt von Component) |
UnquoteIdentifier(String) |
Bei einem Bezeichner mit Anführungszeichen wird die richtige Form des Bezeichners ohne Anführungszeichen zurückgegeben. Dies schließt ein, dass Escapezeichen für eingebettete Anführungszeichen im Bezeichner ordnungsgemäß entfernt werden. |
UnquoteIdentifier(String, OdbcConnection) |
Bei einem Bezeichner mit Anführungszeichen wird die richtige Form des Bezeichners ohne Anführungszeichen zurückgegeben. Dies schließt ein, dass Escapezeichen für eingebettete Anführungszeichen im Bezeichner ordnungsgemäß entfernt werden. |
Ereignisse
Disposed |
Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird. (Geerbt von Component) |