C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示

序言

众所周知,Oracle数据库和MySQL数据库一般在大型项目中使用,在某些小型项目中Access数据库使用较为方便,今天记录一下VS2019 WinFrm应用程序连接Access数据库,并实现数据库表的数据查询显示。

创建Access数据库

这里以Access2000为例,创建一个命名为DB.mdb的数据库(没有密码),并创建一张SysUser表用来存放用户名和密码,添加一条数据。

数据库文件保存为D:\CCode\AccessDB\DB.mdb。

如下图。

C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示_第1张图片

创建WinFrm桌面应用项目

 

创建项目、添加控件

创建WinFrm桌面应用项目,并在主窗体上添加一个button和一个dataGridView,分别命名为btnConnect和dataGridViewMain。

如下图。

C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示_第2张图片

添加引用

因为接下来要使用OleDb的相关命令,所以项目中必须包含System.Data 和 System.Data.OleDb的引用,所以这里我们需要添加using System.Data.OleDb;

如下图。

C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示_第3张图片

添加按钮事件

双击按钮,编辑如下代码:

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;

查看运行效果:

C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示_第4张图片

项目全部代码如下:

 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/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

你可能感兴趣的:(C# - VS2019 WinFrm应用程序连接Access数据库,并简单实现数据库表的数据查询、显示)