在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
众所周知,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 } 注意控件的命名。
https://www.cnblogs.com/jeremywucnblog/
|
请发表评论