Herstellen einer Verbindung mit einer Access-Datenbank in .NET Framework-Anwendungen
Anmerkung
Datasets und verwandte Klassen sind ältere .NET Framework-Technologien aus den frühen 2000er Jahren, mit denen Anwendungen mit Daten im Arbeitsspeicher arbeiten können, während die Anwendungen von der Datenbank getrennt werden. Die Technologien sind besonders nützlich für Anwendungen, mit denen Benutzer Daten ändern und die Änderungen wieder in der Datenbank speichern können. Obwohl Datasets sich als sehr erfolgreiche Technologie erwiesen haben, empfehlen wir, dass neue .NET-Anwendungen Entity Framework Coreverwenden. 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 eine Verbindung mit einer Access-Datenbank (entweder einer .mdb
-Datei oder einer .accdb
-Datei) mithilfe von Visual Studio herstellen. Nachdem Sie die Verbindung definiert haben, werden die Daten im fenster Datenquellen angezeigt. Von dort aus können Sie Tabellen oder Ansichten auf die Entwurfsoberfläche ziehen.
Anmerkung
Wenn Sie Visual Studio zum Herstellen einer Verbindung mit Access-Datenbanken verwenden, müssen Sie beachten, dass Versionen von Visual Studio vor Visual Studio 2022 alle 32-Bit-Prozesse sind. 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.
Wenn Sie 32-Bit-Anwendungen verwalten müssen, die eine Verbindung mit Access-Datenbanken herstellen, können Sie die Anwendung weiterhin mit Visual Studio 2022 erstellen und ausführen. Wenn Sie jedoch eines der Visual Studio-Datentools wie Server-Explorer, Datenquellen-Assistent oder DataSet-Designer verwenden müssen, müssen Sie eine frühere Version von Visual Studio verwenden, die noch ein 32-Bit-Prozess ist. Die letzte Version von Visual Studio, bei der es sich um einen 32-Bit-Prozess handelte, war Visual Studio 2019.
Wenn Sie beabsichtigen, das Projekt in einen 64-Bit-Prozess zu konvertieren, empfiehlt es sich, das 64-Bit-Microsoft Access-Datenbankmodul (Access Connectivity Engine, ACE) zu verwenden. Weitere Informationen finden Sie unter Microsoft OLE DB-Anbieter für Jet und ODBC-Treiber nur als 32-Bit-Versionen verfügbar.
Voraussetzungen
Um diese Verfahren zu verwenden, benötigen Sie Folgendes:
- Visual Studio
- Ein Windows Forms- oder WPF-Projekt
- Entweder eine Access-Datenbank (
.accdb
Datei) oder eine Access 2000-2003-Datenbank (.mdb
Datei). Führen Sie die Prozedur aus, die Ihrem 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.
Öffnen Sie ein Windows Forms- oder WPF-Anwendungsprojekt in Visual Studio.
Zum Öffnen des fensters Datenquellen drücken Sie STRG+Q, geben Sie "Daten" in das Suchfeld ein, und wählen Sie Datenquellen Fenster aus. Wählen Sie alternativ im Menü Ansicht die Option Weitere Fenster>Datenquellen aus. Drücken Sie alternativ auf der Tastatur UMSCHALT+ALT+D.
Klicken Sie im Fenster Datenquellen auf Neue Datenquelle hinzufügen.
Der Assistent zum Konfigurieren von Datenquellen wird geöffnet.
Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.
Wählen Sie auf der Seite Datenbankmodell auswählen die Option Dataset und dann Weiter aus.
Wählen Sie auf der Seite "Datenverbindung auswählen" die Option "Neue Verbindung" aus, um eine neue Datenverbindung zu konfigurieren.
Das Dialogfeld Verbindung hinzufügen wird geöffnet.
Wenn die Datenquelle nicht auf Microsoft Access-Datenbankdateifestgelegt ist, klicken Sie auf die Schaltfläche Ändern.
Das Dialogfeld Datenquelle ändern wird geöffnet. Wählen Sie in der Liste der Datenquellen Microsoft Access-Datenbankdateiaus. Die Option .NET Framework-Datenanbieter für OLE DB- ist bereits vorgewählt. Wählen Sie OKaus.
Wählen Sie neben Name der Datenbankdatei die Option Durchsuchen aus. Navigieren Sie dann zu Ihrer
.accdb
-Datei, und wählen Sie Öffnen aus.Anmerkung
Wenn die Bitanzahl (32-Bit oder 64-Bit) von Microsoft Office und Visual Studio nicht übereinstimmen, 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 zu 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.
Geben Sie einen Benutzernamen und ein Kennwort ein (falls erforderlich), und wählen Sie dann OKaus.
Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung aus die Option Weiter aus.
Möglicherweise wird ein Dialogfeld angezeigt, das Sie darüber informiert, dass sich die Datendatei nicht in Ihrem aktuellen Projekt befindet. Wählen Sie Ja oder Neinaus.
Wählen Sie auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern die Option Weiter aus.
Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.
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.
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+Eingabetaste 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.
Die Verbindungszeichenfolge wird in app.config und im Projektmappen-Explorer unter Eigenschaften in der Datei Settings.settings.
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.
Öffnen Sie ein Windows Forms- oder WPF-Anwendungsprojekt in Visual Studio.
Zum Öffnen des fensters Datenquellen drücken Sie STRG+Q, geben Sie "Daten" in das Suchfeld ein, und wählen Sie Datenquellen Fenster aus. Wählen Sie alternativ im Menü Ansicht die Option Weitere Fenster>Datenquellen aus. Drücken Sie alternativ auf der Tastatur UMSCHALT+ALT+D.
Klicken Sie im Fenster Datenquellen auf Neue Datenquelle hinzufügen.
Der Konfigurations-Assistent für Datenquellen wird geöffnet.
Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.
Wählen Sie auf der Seite Datenbankmodell auswählen die Option Dataset und dann Weiter aus.
Wählen Sie auf der Seite "Datenverbindung auswählen" die Option "Neue Verbindung", um eine neue Datenverbindung zu konfigurieren.
Das Dialogfeld Verbindung hinzufügen wird geöffnet.
Wenn Datenquelle nicht auf Microsoft Access-Datenbankdatei festgelegt ist, wählen Sie die Schaltfläche Ändern aus.
Das Dialogfeld Datenquelle ändern wird geöffnet. Wählen Sie in der Liste der Datenquellen Microsoft Access-Datenbankdateiaus. Die Option .NET Framework-Datenanbieter für OLE DB- ist bereits vorgewählt. Wählen Sie OKaus.
Wählen Sie neben Name der Datenbankdatei die Option Durchsuchen aus. Navigieren Sie dann zu Ihrer
.accdb
-Datei, und wählen Sie Öffnen aus.Anmerkung
Wenn die Bitanzahl (32-Bit oder 64-Bit) von Microsoft Office und Visual Studio nicht übereinstimmen, 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.
Geben Sie einen Benutzernamen und ein Kennwort ein (falls erforderlich), und wählen Sie dann OKaus.
Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung aus die Option Weiter aus.
Es kann passieren, dass ein Dialogfeld angezeigt wird, das Sie darauf hinweist, dass sich die Datendatei nicht in Ihrem aktuellen Projekt befindet. Wählen Sie Ja oder Neinaus.
Wählen Sie auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern die Option Weiter aus.
Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.
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.
Öffnen Sie ein Windows Forms- oder WPF-Anwendungsprojekt in Visual Studio.
Wählen Sie im Menü Ansicht die Option Weitere Fenster>Datenquellen aus.
Klicken Sie im Fenster Datenquellen auf Neue Datenquelle hinzufügen.
Der Konfigurations-Assistent für Datenquellen wird geöffnet.
Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.
Wählen Sie auf der Seite Datenbankmodell auswählen die Option Dataset und dann Weiter aus.
Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung die Option Neue Verbindung aus, um eine neue Datenverbindung zu konfigurieren.
Wenn die Datenquelle nicht Microsoft Access-Datenbankdatei (OLE DB)ist, wählen Sie Ändern aus, um das Dialogfeld Datenquelle ändern zu öffnen, und wählen Sie Microsoft Access-Datenbankdateiaus, und wählen Sie dann OKaus.
Geben Sie im Datenbankdateinamenden Pfad und Namen der
.mdb
Datei an, mit der Sie eine Verbindung herstellen möchten, und wählen Sie dann OKaus.Wählen Sie auf der Seite Wählen Sie Ihre Datenverbindung aus die Option Weiter aus.
Wählen Sie auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern die Option Weiter aus.
Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.
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.
Anzeigen des generierten Codes
Die Datentools sind so konfiguriert, dass viele Code automatisch generiert werden, wenn Sie bestimmte Vorgänge im Formular-Designer ausführen. Wenn Sie beispielsweise eine Tabelle auf das Formular ziehen und ablegen, wird ein 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. Der generierte Code kann je nach Version von Visual Studio unterschiedlich sein.
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 im Fenster Datenquellen verfügbar. Sie können jetzt eine der folgenden Aufgaben ausführen:
Wählen Sie Elemente im Datenquellenfenster Fenster aus, und ziehen Sie sie auf die Formular- oder Entwurfsoberfläche (siehe Binden von Windows Forms-Steuerelementen an Daten in Visual Studio oder WPF-Datenbindungsübersicht).
Öffnen Sie die Datenquelle im Dataset-Designer, um die Objekte hinzuzufügen oder zu bearbeiten, aus denen das Dataset besteht.
Fügen Sie dem ColumnChanging- oder RowChanging Ereignis der Datentabellen im Dataset Validierungslogik hinzu (siehe Überprüfen von Daten in Datasets).