War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
OleDbCommandBuilder-Klasse

OleDbCommandBuilder-Klasse

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

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

public sealed class OleDbCommandBuilder : DbCommandBuilder
public final class OleDbCommandBuilder extends DbCommandBuilder
public final class OleDbCommandBuilder extends DbCommandBuilder

Der OleDbDataAdapter generiert nicht automatisch die SQL-Anweisungen, die für den Abgleich von Änderungen an einem DataSet mit der zugeordneten Datenquelle erforderlich sind. Sie können jedoch ein OleDbCommandBuilder-Objekt erstellen, um SQL-Anweisungen für das Aktualisieren einzelner Tabellen automatisch zu generieren, indem Sie die SelectCommand-Eigenschaft von OleDbDataAdapter festlegen. Anschließend werden alle zusätzlichen, von Ihnen nicht festgelegten SQL-Anweisungen vom OleDbCommandBuilder generiert.

Der OleDbCommandBuilder registriert sich selbst als ein Listener für RowUpdating-Ereignisse, wenn Sie die DataAdapter-Eigenschaft festlegen. Einem OleDbDataAdapter-Objekt kann immer nur ein OleDbCommandBuilder-Objekt gleichzeitig zugeordnet werden und umgekehrt.

Zum Generieren von INSERT-Anweisungen, UPDATE-Anweisungen und DELETE-Anweisungen verwendet der OleDbCommandBuilder die SelectCommand-Eigenschaft, um einen erforderlichen Satz von Metadaten automatisch abzurufen. Wenn Sie SelectCommand nach dem Abrufen der Metadaten ändern (z. B. nach der ersten Aktualisierung), müssen Sie die RefreshSchema-Methode aufrufen, um die Metadaten zu aktualisieren.

Der OleDbCommandBuilder verwendet auch die Connection-Eigenschaft, die CommandTimeout-Eigenschaft und die Transaction-Eigenschaft, auf die durch SelectCommand verwiesen wird. Der Benutzer muss RefreshSchema aufrufen, wenn eine oder mehrere dieser Eigenschaften geändert werden oder SelectCommand selbst ersetzt werden. Andernfalls behalten die InsertCommand-Eigenschaft, die UpdateCommand-Eigenschaft und die DeleteCommand-Eigenschaft ihre vorherigen Werte bei.

Wenn Sie Dispose aufrufen, wird die Zuordnung von OleDbCommandBuilder zu OleDbDataAdapter aufgehoben, und die generierten Befehle werden nicht mehr verwendet.

Im folgenden Beispiel wird OleDbCommand gemeinsam mit OleDbDataAdapter und OleDbConnection verwendet, um Zeilen aus einer Datenquelle auszuwählen. Im Beispiel werden ein initialisiertes DataSet, eine Verbindungszeichenfolge, eine SQL-SELECT-Anweisung als Abfragezeichenfolge sowie eine Zeichenfolge mit dem Namen der Datenquelltabelle übergeben. Anschließend wird im Beispiel ein OleDbCommandBuilder erstellt.

public static DataSet UpdateRows(string connectionString, 
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OleDbCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        connection.Close();
    }
    return dataSet;
}

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbCommandBuilder
        System.Data.OleDb.OleDbCommandBuilder

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, 1.0
Anzeigen:
© 2015 Microsoft