C# - VS2019 WinFrm應用程序連接Access數據庫,並簡單實現數據庫表的數據查詢、顯示


序言

眾所周知,Oracle數據庫和MySQL數據庫一般在大型項目中使用,在某些小型項目中Access數據庫使用較為方便,今天記錄一下VS2019 WinFrm應用程序連接Access數據庫,並實現數據庫表的數據查詢顯示。

創建Access數據庫

這里以Access2000為例,創建一個命名為DB.mdb的數據庫(沒有密碼),並創建一張SysUser表用來存放用戶名和密碼,添加一條數據。

數據庫文件保存為D:\CCode\AccessDB\DB.mdb。

如下圖。

創建WinFrm桌面應用項目

 

創建項目、添加控件

創建WinFrm桌面應用項目,並在主窗體上添加一個button和一個dataGridView,分別命名為btnConnect和dataGridViewMain。

如下圖。

添加引用

因為接下來要使用OleDb的相關命令,所以項目中必須包含System.Data 和 System.Data.OleDb的引用,所以這里我們需要添加using System.Data.OleDb;

如下圖。

添加按鈕事件

雙擊按鈕,編輯如下代碼:

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\CCode\\AccessDB\\DB.mdb");
            OleDbCommand cmd = conn.CreateCommand();
            cmd.CommandText = "select * from SysUser";
            conn.Open();
            OleDbDataReader dr = cmd.ExecuteReader();
            DataTable dt = new DataTable();
            if (dr.HasRows)
            {
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    dt.Columns.Add(dr.GetName(i));
                }
                dt.Rows.Clear();
            }
            while (dr.Read())
            {
                DataRow row = dt.NewRow();
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    row[i] = dr[i];
                }
                dt.Rows.Add(row);
            }
            cmd.Dispose();
            conn.Close();
            dataGridViewMain.DataSource = dt;

查看運行效果:

項目全部代碼如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Data.OleDb;
 6 using System.Drawing;
 7 using System.Linq;
 8 using System.Text;
 9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11 
12 namespace TestAccessDB
13 {
14     public partial class MainFrm : Form
15     {
16         public MainFrm()
17         {
18             InitializeComponent();
19         }
20 
21         private void btnConnect_Click(object sender, EventArgs e)
22         {
23             OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\CCode\\AccessDB\\DB.mdb");
24             OleDbCommand cmd = conn.CreateCommand();
25             cmd.CommandText = "select * from SysUser";
26             conn.Open();
27             OleDbDataReader dr = cmd.ExecuteReader();
28             DataTable dt = new DataTable();
29             if (dr.HasRows)
30             {
31                 for (int i = 0; i < dr.FieldCount; i++)
32                 {
33                     dt.Columns.Add(dr.GetName(i));
34                 }
35                 dt.Rows.Clear();
36             }
37             while (dr.Read())
38             {
39                 DataRow row = dt.NewRow();
40                 for (int i = 0; i < dr.FieldCount; i++)
41                 {
42                     row[i] = dr[i];
43                 }
44                 dt.Rows.Add(row);
45             }
46             cmd.Dispose();
47             conn.Close();
48             dataGridViewMain.DataSource = dt;
49         }
50     }
51 }
View Code

注意控件的命名。

 

  作者:Jeremy.Wu
  出處:https://www.cnblogs.com/jeremywucnblog/
  本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM