在 C# 中連線到 Access 資料庫

Muhammad Zeeshan 2023年10月12日
在 C# 中連線到 Access 資料庫

本文將討論在 C# 中連線到 Access 資料庫。

微軟訪問

Microsoft Access 是一個資料管理程式,允許你儲存資料以供將來參考、報告和分析。與 Microsoft Excel 或其他電子表格工具不同,Microsoft Access 使你能夠分析大量資料並有效地處理相關資料。

C# 中連線到一個 Access 資料庫

我們可以按照以下步驟連線到 C# 中的 Access 資料庫。

  • 首先,開啟 Microsoft Access 並選擇一個空白桌面資料庫。命名資料庫,然後單擊建立。

  • 在資料庫中建立一個表,併為其命名。我們將其稱為 EmployeeInfo,有四列:EidEnameEdeptEaddress

  • 現在,啟動 Microsoft Visual Studio 並建立一個新的 Windows 窗體應用程式。在解決方案資源管理器中,將資料庫檔案從 Documents 拖放到使用 Microsoft Access 生成的 Project Directory 資料夾中。

  • 建立如下表單設計:

    建立員工資訊表單設計

  • 雙擊提交資料按鈕,當你雙擊 1 按鈕時,將建立一個事件。

  • 現在,為連線新增以下庫:

    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;
    
  • 通過轉到工具並從列表中選擇連線到資料庫來生成連線字串,然後從專案目錄中瀏覽資料庫。

    新增連線到資料庫

  • 從列表中選擇高階,然後選擇提供者。複製文字作為連線字串。

  • 現在,建立一個連線字串並將其分配給靜態字串型別變數 constr,如下所示:

    static string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + Application.StartupPath +
                           "/employeeinfo.mdb";
    
  • 初始化一個 OleDbConnection 型別變數 dbcon 以建立連線並將連線字串 constr 作為引數傳遞:

    OleDbConnection dbcon = new OleDbConnection(constr);
    
  • 最後,新增這幾行程式碼,輸入員工姓名、部門、​​地址等員工資訊。

    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();
    

示例原始碼

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();
    }
  }
}
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

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

相關文章 - Csharp Database