• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

众所周知,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

注意控件的命名。

 

https://www.cnblogs.com/jeremywucnblog/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
从C#程序中调用非受管DLLs发布时间:2022-07-18
下一篇:
数学运算表达式形式的验证码C#Asp.Net发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap