Freigeben über


Herstellen einer Verbindung mit einer Access-Datenbank in .NET Framework-Anwendungen

Hinweis

Datasets und verwandte Klassen sind ältere .NET-Technologien aus den frühen 2000er Jahren, die es Anwendungen ermöglichen, mit Daten im Arbeitsspeicher zu arbeiten, während die Anwendungen von der Datenbank getrennt sind. Sie sind besonders nützlich für Anwendungen, die es Benutzern ermöglichen, Daten zu ändern und die Änderungen wieder in der Datenbank zu speichern. Obwohl sich Datasets als sehr erfolgreiche Technologie erwiesen haben, empfehlen wir, dass neue .NET-Anwendungen Entity Framework Core verwenden. Entity Framework bietet eine natürlichere Möglichkeit, mit tabellarischen Daten als Objektmodelle zu arbeiten, und verfügt über eine einfachere Programmierschnittstelle.

Sie können mithilfe von Visual Studio eine Verbindung mit einer Access-Datenbank (entweder eine .mdb- oder eine .accdb-Datei) herstellen. Nachdem Sie die Verbindung definiert haben, werden die Daten im Fenster Datenquellen angezeigt. Von dort können Sie Tabellen oder Sichten auf die Designoberfläche ziehen.

Hinweis

Wenn Sie Visual Studio verwenden, um eine Verbindung mit Access-Datenbanken herzustellen, müssen Sie beachten, dass es sich bei allen Visual Studio-Versionen vor Visual Studio 2022 um 32-Bit-Prozesse handelt. Dies bedeutet, dass einige der Datentools in Visual Studio 2019 und früher nur mithilfe von 32-Bit-Datenanbietern eine Verbindung mit Access-Datenbanken herstellen können.

Wenn Sie Visual Studio 2022 zum Herstellen einer Verbindung mit Access-Datenbanken verwenden, müssen Sie beachten, dass Visual Studio 2022 jetzt ein 64-Bit-Prozess ist. Dies bedeutet, dass einige der Datentools in Visual Studio keine Verbindung mit Access-Datenbanken mit 32-Bit-Datenanbietern herstellen können.

Sie können 32-Bit-Anwendungen, die eine Verbindung mit Access-Datenbanken herstellen, weiterhin mit Visual Studio 2022 erstellen und ausführen. Wenn Sie jedoch Visual Studio-Datentools wie Server-Explorer, Datenquellen-Assistent oder DataSet-Designer verwenden müssen, benötigen Sie dazu eine frühere Version von Visual Studio, die noch ein 32-Bit-Prozess ist. Die letzte Version von Visual Studio, die ein 32-Bit-Prozess war, ist Visual Studio 2019.

Wenn Sie planen, das Projekt in einen 64-Bit-Prozess zu konvertieren, wird die Verwendung der 64-Bit-Datenbank-Engine von Microsoft Access, auch Access Connectivity Engine (ACE) genannt, empfohlen. Weitere Informationen finden Sie unter Microsoft OLE DB-Anbieter für Jet und ODBC-Treiber sind nur als 32-Bit-Versionen verfügbar.

Voraussetzungen

Um die folgenden Verfahren ausführen zu können, benötigen Sie Folgendes:

  • Visual Studio
  • Ein Windows Forms- oder WPF-Projekt
  • Eine Access-Datenbank (.accdb-Datei) oder eine Access 2000-2003-Datenbank (.mdb-Datei). Führen Sie die Prozedur aus, die dem Dateityp entspricht.

Erstellen eines Datasets für eine ACCDB-Datei

Stellen Sie mithilfe des folgenden Verfahrens eine Verbindung mit Datenbanken her, die mit Microsoft 365, Access 2016, Access 2013, Access 2010 oder Access 2007 erstellt wurden.

  1. Öffnen Sie ein Windows Forms- oder WPF-Anwendungsprojekt in Visual Studio.

  2. Um das Fenster Datenquellen zu öffnen, drücken Sie STRG+Q, geben Sie „Daten“ in das Suchfeld ein, und wählen Sie das Fenster Datenquellen aus. Oder wählen Sie im Menü Ansicht die Option Weitere Fenster>Datenquellen aus. Oder drücken Sie auf der Tastatur UMSCHALT+ALT+D.

    Screenshot: Datenquellen im Suchfeld

  3. Klicken Sie im Datenquellenfenster auf Neue Datenquelle hinzufügen.

    Der Assistent zum Konfigurieren von Datenquellen wird geöffnet.

    Screenshot: Assistent für die Datenquellenkonfiguration

  4. Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.

  5. Wählen Sie Dataset auf der Seite Datenbankmodell auswählen und dann Weiter aus.

    Screenshot: Seite „Datenbankmodell auswählen“

  6. Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung die Option Neue Verbindung aus, um eine neue Datenverbindung zu konfigurieren.

    Screenshot: Seite „Datenverbindung auswählen“

    Das Dialogfeld Verbindung hinzufügen wird geöffnet.

    Screenshot: Dialogfeld „Verbindung hinzufügen“

  7. Wenn Datenquelle nicht auf Microsoft Access-Datenbankdatei festgelegt ist, wählen Sie die Schaltfläche Ändern aus.

    Das Dialogfeld Datenquelle wechseln wird geöffnet. Wählen Sie in der Liste der Datenquellen Microsoft Access-Datenbankdatei aus. Die Option .NET Framework-Datenanbieter für OLE DB ist bereits vorab ausgewählt. Wählen Sie OK aus.

    Screenshot: Dialogfeld „Datenquelle auswählen“

  8. Wählen Sie Durchsuchen neben Name der Datenbankdatei aus, und navigieren Sie dann zu Ihrer .accdb-Datei, um Öffnen auszuwählen.

    Hinweis

    Wenn die Bitanzahl (32-Bit oder 64-Bit) von Microsoft Office und Visual Studio nicht übereinstimmt, wird beim Herstellen einer Verbindung mit einer Access-Datenbank ein Fehler angezeigt. In Visual Studio 2019 wird eine Fehlermeldung angezeigt, dass der Datenbankanbieter nicht registriert ist. In Visual Studio 2022 wird ein Fehler angezeigt, dass keine Verbindung mit einem 32-Bit-Datenanbieter hergestellt werden kann. Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie Visual Studio 2019 oder früher verwenden, wenn Sie eine 32-Bit-Version von Office verwenden. Für eine 64-Bit-Version von Office benötigen Sie Visual Studio 2022 oder höher.

  9. Geben Sie einen Benutzernamen und ein Kennwort ein (falls erforderlich), und wählen Sie dann OK aus.

  10. Wählen Sie Weiter auf der Seite Wählen Sie Ihre Datenverbindung aus aus.

    Möglicherweise wird ein Dialogfeld angezeigt, in dem Sie darauf hingewiesen werden, dass sich die Datendatei nicht in Ihrem aktuellen Projekt befindet. Wählen Sie Ja oder Nein aus.

  11. Wählen Sie Weiter auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern aus.

    Screenshot der Seite

  12. Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.

    Screenshot: Seite „Wählen Sie Ihre Datenbankobjekte aus“

  13. Wählen Sie die Tabellen oder Sichten aus, die Sie in Ihr Dataset einbeziehen möchten, und wählen Sie dann Fertig stellen aus.

    Das DataSet wird Ihrem Projekt hinzugefügt, und die Tabellen und Ansichten werden im Fenster Datenquellen angezeigt.

    Screenshot: Mit Datenbankobjekten aufgefülltes Datenquellenfenster

  14. Auf 64-Bit-Computern mit dem 64-Bit-Access-Datenbankmodul müssen Sie sicherstellen, dass die Anwendung als 64-Bit-Anwendung ausgeführt wird. Öffnen Sie die Projekteigenschaften, (drücken Sie Alt+Enter oder klicken Sie mit der rechten Maustaste auf den Projektknoten und wählen Sie Eigenschaften. Deaktivieren Sie auf der Registerkarte Erstellen das Kontrollkästchen 32-Bit bevorzugen.

Erstellen eines Datasets für eine ACCDB-Datei

Stellen Sie mithilfe des folgenden Verfahrens eine Verbindung mit Datenbanken her, die mit Microsoft 365, Access 2016, Access 2013, Access 2010 oder Access 2007 erstellt wurden.

  1. Öffnen Sie ein Windows Forms- oder WPF-Anwendungsprojekt in Visual Studio.

  2. Um das Fenster Datenquellen zu öffnen, drücken Sie STRG+Q, geben Sie „Daten“ in das Suchfeld ein, und wählen Sie das Fenster Datenquellen aus. Oder wählen Sie im Menü Ansicht die Option Weitere Fenster>Datenquellen aus. Oder drücken Sie auf der Tastatur UMSCHALT+ALT+D.

    Weitere Windows-Datenquellen anzeigen

  3. Klicken Sie im Datenquellenfenster auf Neue Datenquelle hinzufügen.

    Der Assistent zum Konfigurieren von Datenquellen wird geöffnet.

  4. Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.

  5. Wählen Sie Dataset auf der Seite Datenbankmodell auswählen und dann Weiter aus.

    Screenshot: Seite „Datenbankmodell auswählen“

  6. Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung die Option Neue Verbindung aus, um eine neue Datenverbindung zu konfigurieren.

    Screenshot: Seite „Datenverbindung auswählen“

    Das Dialogfeld Verbindung hinzufügen wird geöffnet.

    Screenshot: Dialogfeld „Verbindung hinzufügen“

  7. Wenn Datenquelle nicht auf Microsoft Access-Datenbankdatei festgelegt ist, wählen Sie die Schaltfläche Ändern aus.

    Das Dialogfeld Datenquelle wechseln wird geöffnet. Wählen Sie in der Liste der Datenquellen Microsoft Access-Datenbankdatei aus. Die Option .NET Framework-Datenanbieter für OLE DB ist bereits vorab ausgewählt. Wählen Sie OK aus.

    Screenshot: Dialogfeld „Datenquelle auswählen“

  8. Wählen Sie Durchsuchen neben Name der Datenbankdatei aus, und navigieren Sie dann zu Ihrer .accdb-Datei, um Öffnen auszuwählen.

    Hinweis

    Wenn die Bitanzahl (32-Bit oder 64-Bit) von Microsoft Office und Visual Studio nicht übereinstimmt, wird beim Herstellen einer Verbindung mit einer Access-Datenbank ein Fehler angezeigt. In Visual Studio 2019 wird eine Fehlermeldung angezeigt, dass der Datenbankanbieter nicht registriert ist. In Visual Studio 2022 wird ein Fehler angezeigt, dass keine Verbindung mit einem 32-Bit-Datenanbieter hergestellt werden kann. Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie Visual Studio 2019 oder früher verwenden, wenn Sie eine 32-Bit-Version von Office verwenden. Für eine 64-Bit-Version von Office benötigen Sie Visual Studio 2022 oder höher.

  9. Geben Sie einen Benutzernamen und ein Kennwort ein (falls erforderlich), und wählen Sie dann OK aus.

  10. Wählen Sie Weiter auf der Seite Wählen Sie Ihre Datenverbindung aus aus.

    Möglicherweise wird ein Dialogfeld angezeigt, in dem Sie darauf hingewiesen werden, dass sich die Datendatei nicht in Ihrem aktuellen Projekt befindet. Wählen Sie Ja oder Nein aus.

  11. Wählen Sie Weiter auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern aus.

    Screenshot der Seite

  12. Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.

  13. Wählen Sie die Tabellen oder Sichten aus, die Sie in Ihr Dataset einbeziehen möchten, und wählen Sie dann Fertig stellen aus.

    Das DataSet wird Ihrem Projekt hinzugefügt, und die Tabellen und Ansichten werden im Fenster Datenquellen angezeigt.

Erstellen eines Datasets für eine MDB-Datei

Stellen Sie mithilfe des folgenden Verfahrens eine Verbindung mit Datenbanken her, die mit Access 2000–2003 erstellt wurden.

  1. Öffnen Sie ein Windows Forms- oder WPF-Anwendungsprojekt in Visual Studio.

  2. Wählen Sie im Menü Ansicht die Option Weitere Fenster>Datenquellen aus.

  3. Klicken Sie im Datenquellenfenster auf Neue Datenquelle hinzufügen.

    Der Assistent zum Konfigurieren von Datenquellen wird geöffnet.

  4. Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.

  5. Wählen Sie Dataset auf der Seite Datenbankmodell auswählen und dann Weiter aus.

  6. Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung die Option Neue Verbindung aus, um eine neue Datenverbindung zu konfigurieren.

  7. Wenn die Datenquelle keine Microsoft Access-Datenbankdatei (OLE DB) ist, wählen Sie Ändern aus, um das Dialogfeld Datenquelle wechseln zu öffnen. Wählen Sie dort die Microsoft Access-Datenbankdatei aus, und klicken Sie anschließend auf OK.

  8. Geben Sie in Name der Datenbankdatei den Pfad und Namen der .mdb-Datei an, mit der Sie eine Verbindung herstellen möchten, und wählen Sie dann OK aus.

    Verbindungszugriff-Datenbankdatei hinzufügen

  9. Wählen Sie Weiter auf der Seite Wählen Sie Ihre Datenverbindung aus aus.

  10. Wählen Sie Weiter auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern aus.

  11. Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.

  12. Wählen Sie die gewünschten Tabellen oder Sichten in Ihrem Dataset und dann Fertig stellen aus.

    Das DataSet wird Ihrem Projekt hinzugefügt, und die Tabellen und Ansichten werden im Fenster Datenquellen angezeigt.

Generierten Code anzeigen

Die Datentools sind so konfiguriert, dass viel Code automatisch generiert wird, wenn Sie bestimmte Vorgänge im Formulardesigner ausführen. Wenn Sie z. B. eine Tabelle auf das Formular ziehen und ablegen, wird eine DataGridView hinzugefügt, und Code wird erstellt, um die Daten mit dem Steuerelement zu verknüpfen. Sie können diesen Code in der *.Designer.cs-Datei anzeigen. Visual Studio fügt eine Reihe privater Mitglieder hinzu:

private Database11DataSet database11DataSet;
private System.Windows.Forms.BindingSource ordersBindingSource;
private Database11DataSetTableAdapters.OrdersTableAdapter ordersTableAdapter;
private Database11DataSetTableAdapters.TableAdapterManager tableAdapterManager;
private System.Windows.Forms.BindingNavigator ordersBindingNavigator;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
private System.Windows.Forms.ToolStripButton ordersBindingNavigatorSaveItem;
private System.Windows.Forms.DataGridView ordersDataGridView;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;

Wenn Sie den ausgeblendeten Bereich erweitern, können Sie sehen, dass Visual Studio auch eine große Menge Code hinzufügt, um das DataGridView-Steuerelement mit Datenbindung an die Tabelle einzurichten, die Sie auf das Formular gezogen haben.

Außerdem fügt Visual Studio im FormularcodeBehind-Datei des Hauptformulars Code hinzu, der die Speicheraktion verarbeitet, um interaktive Änderungen an den Daten zu speichern, und den Code, der die Tabelle in den Tabellenadapter lädt.

private void ordersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
    this.Validate();
    this.ordersBindingSource.EndEdit();
    this.tableAdapterManager.UpdateAll(this.database11DataSet);

}

private void Form1_Load(object sender, EventArgs e)
{
   // TODO: This line of code loads data into the 'database11DataSet.Orders' table. You can move, or remove it, as needed.
   this.ordersTableAdapter.Fill(this.database11DataSet.Orders);
}

Herzlichen Glückwunsch! Mit etwas Hilfe von Visual Studio haben Sie eine formularbasierte Bearbeitungsoberfläche für eine Access-Datentabelle erstellt.

Nächste Schritte

Das soeben erstellte Dataset ist jetzt im Datenquellenfenster verfügbar. Sie können nun eine der folgenden Aufgaben ausführen: