zoukankan      html  css  js  c++  java
  • C#

    序言

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

    创建Access数据库

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

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

  • 相关阅读:
    css-Less
    linux脚本启动应用
    Idea安装svn插件
    一、JSP九大内置对象 二、JAVAEE三层架构和MVC设计模式 三、Ajax
    一、HttpServletRequest接口 二、HttpServletReponse接口 三、POST和GET请求方式及其乱码处理 四、ServletContext对象和ServletConfig对象
    一、 JSP概述 二、JSP的语法结构 三、JSP内置对象
    一、动态网络编程的概念 二、Tomcat服务器搭建 三、Servlet组件介绍
    一、BOM 二、DOM
    一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象
    一、HTML概述 二、web相关的概念 三、HTML的常用标签
  • 原文地址:https://www.cnblogs.com/jeremywucnblog/p/11828056.html
Copyright © 2011-2022 走看看