Verbinden mit einer Access-Datenbank in C#
In diesem Artikel wird das Herstellen einer Verbindung zu einer Access-Datenbank in C# erläutert.
Microsoft Access
Microsoft Access ist ein Datenverwaltungsprogramm, mit dem Sie Daten für zukünftige Referenzen, Berichte und Analysen speichern können. Im Gegensatz zu Microsoft Excel oder anderen Tabellenkalkulationsprogrammen können Sie mit Microsoft Access große Datenmengen analysieren und zugehörige Daten effizient verarbeiten.
Verbindung zu einer Access-Datenbank in C#
Wir können eine Verbindung zu einer Access-Datenbank in C# herstellen, indem wir die folgenden Schritte ausführen.
-
Öffnen Sie zunächst Microsoft Access und wählen Sie eine leere Desktop-Datenbank aus. Benennen Sie die Datenbank und klicken Sie dann auf Erstellen.
-
Erstellen Sie eine Tabelle in der Datenbank und benennen Sie sie. Wir nennen es
EmployeeInfo
mit vier Spalten:Eid
,Ename
,Edept
undEaddress
. -
Starten Sie jetzt Microsoft Visual Studio und erstellen Sie eine neue Windows Form-Anwendung. Ziehen Sie im Projektmappen-Explorer die Datenbankdatei per Drag-and-Drop aus Documents in den Projektverzeichnisordner, der mit Microsoft Access erstellt wurde.
-
Erstellen Sie ein Formulardesign wie das folgende:
-
Doppelklicken Sie auf die Schaltfläche
Submit Data
. Wenn Sie auf die Schaltfläche1
doppelklicken, wird ein Ereignis erstellt. -
Fügen Sie nun die folgenden Bibliotheken für die Konnektivität hinzu:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb;
-
Generieren Sie eine Verbindungszeichenfolge, indem Sie zu den
Tools
gehen undConnect to the database
aus der Liste auswählen, dann durchsuchen Sie die Datenbank im Projektverzeichnis. -
Wählen Sie aus der Liste
Advanced
und dannProvider
aus. Kopieren Sie den Text als Verbindungszeichenfolge. -
Erstellen Sie nun eine Verbindungszeichenfolge und weisen Sie sie einer statischen Zeichenfolge vom Typ
constr
wie folgt zu:static string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Application.StartupPath + "/employeeinfo.mdb";
-
Initialisieren Sie eine Variable vom Typ
OleDbConnection
dbcon
, um eine Verbindung herzustellen, und übergeben Sie die Verbindungszeichenfolgeconstr
als Parameter:OleDbConnection dbcon = new OleDbConnection(constr);
-
Fügen Sie schließlich diese Codezeilen hinzu, um Mitarbeiterinformationen wie Mitarbeitername, Abteilung und Adresse einzugeben.
OleDbCommand cmd = dbcon.CreateCommand(); dbcon.Open(); cmd.CommandText = "Insert into EmployeeInfo (Ename, Edept,Eaddress)Values('" + txtEmpname.Text + "','" + txtEmpdept.Text + "','" + txtEmpaddress.Text + "')"; cmd.Connection = dbcon; cmd.ExecuteNonQuery(); MessageBox.Show("Data Inserted Successfully"); dbcon.Close();
Beispielquellcode
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
static string constr =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Application.StartupPath +
"/employeeinfo.mdb";
OleDbConnection dbcon = new OleDbConnection(constr);
public Form1() {
InitializeComponent();
}
private void button1_Click_1(object sender, EventArgs e) {
OleDbCommand cmd = dbcon.CreateCommand();
dbcon.Open();
cmd.CommandText = "Insert into EmployeeInfo (Ename, Edept,Eaddress.)Values('" +
txtEmpname.Text + "','" + txtEmpdept.Text + "','" + txtEmpaddress.Text +
"')";
cmd.Connection = dbcon;
cmd.ExecuteNonQuery();
MessageBox.Show("Data Inserted", "Congrats");
dbcon.Close();
}
}
}
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn