C#操作Access数据库

这篇具有很好参考价值的文章主要介绍了C#操作Access数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一章 简介

Access数据的优点:
1,存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为 .mdb 的数据库文件中,便于用户的操作和管理。
2,面向对象
3,界面友好,易操作
4,轻量级,数据库(.mdb)文件可以直接加载到C#项目文件里(个人认为它最大的优点就是这个)
连接Access数据库的步骤和连接SQL Server Oracle MySql 数据库的方式类似分为7 步:
1,新建OleDbConnection对象 并传入连接字符串 获得与数据库的连接

OleDbConnection conn = new OleDbConnection("provider = microsoft.Jet.OLEDB.4.0;Data Source = D:\\Student.mdb");

2,使用OleDbConnection对象的实例conn 新建OleDbCommand对象

OleDbCommand comm = conn.CreateCommand();

3,通过OleDbCommand的实例comm传入Sql语句

comm.CommandText = "select * from student";

4,打开连接

conn.Open();

5,调用实例comm的ExecuteReader()并保存在OleDbDataReader对象中

OleDbDataReader dr = comm.ExecuteReader();

dr 里面就是从数据库查到的数据 可以对它进行相关的操作

6,释放资源

conn.Dispose();

7,关闭连接

conn.Close();

第二章 C#与ACCESS的交互操作

第一节 利用C#创建一个ACCESS数据库文件

A.mdb文件是原来没有的,程序需要创建一个然后往里面写数据!
1.新建工程 —进入解决方案->引用->添加引用 —选择com标签下的“Microsoft ADO Ext. 2.8 for DDL and Security”—点击OK
C#操作Access数据库
2.添加引用:using ADOX;
3.用ADOX创建access数据库

ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb;Jet");

这时在运行在debug文件夹下就可以看到这个mdb了。
其实何必要创建呢,我每次都是建一个空白的mdb文件,需要的时候再拷贝一下就可以啦。

第二节 C#在MDB文件中创建表

生成表NewTable,该表有文本字段Field1和整型字段Field2

string conStr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = test.mdb";
OleDbConnection conn = new OleDbConnection(conStr);
string dbstr = "CREATE TABLE NewTable(Field1 TEXT, Field2 INTEGER)";
OleDbCommand oleDbCom = new OleDbCommand(dbstr, conn);
conn.Open();
oleDbCom.ExecuteNonQuery();
conn.Close();

第三节 显示数据库中表格内容

数据流:
数据库—创建DataAdapter实例就建立好了和数据库的关联——通过DataAdapter实例的Fill指令将数据填充到Dataset——选择Dataset中的表格添加到DataTable——将表格填充到dataGridView1.DataSource。

开始前::先建立一个数据库test.mdb,在其中建立表格NewTable,表格中自己添加一些内容;

 public void viewAccessInfo()
        {
            //【1】连接数据库
            string connect_str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
            OleDbConnection thisConnection = new OleDbConnection(connect_str);
            //【2】编写SQL指令,星号(*)是选取所有列的快捷方式。
            string sql = "select * from NewTable";
            //OleDbDataAdapter是 DataSet 和数据源之间的桥梁,用于检索和保存数据。
            OleDbDataAdapter thisAdapter = new OleDbDataAdapter(sql, thisConnection);
            //DataSet可以理解成在应用程序中的数据库
            DataSet thisDataSet = new System.Data.DataSet();
            //使用 Fill 将数据从数据源加载到 DataSet 中
            thisAdapter.Fill(thisDataSet, "table");
            //DataTable可以理解成DataSet的一个表格;将table中的表格内容添加到datatable
            DataTable dt = thisDataSet.Tables["table"];
            //将数据表和dataGridView1进行绑定
            dataGridView1.DataSource = dt;
            //关闭连接
            thisConnection.Close();
        }

运行效果如下:C#操作Access数据库
1,将DataGridView控件的界面大小随着我们显示的内容变化而变化。只要设置AutoSizeCloumnsMode这个属性,将它的属性值设为Fill就可以了。
2,有些时候我们想让DataGridView控件的大小随着窗体或者是页面的大小变化而变化,两个方法分别是:
(1)设置DataGridView的属性Anchor的值为上下左右就可以了。
(2)设置Dock属性为Fill,就是将DataGridView填满整个窗体或者是页面。
C#操作Access数据库
运行效果如下:
C#操作Access数据库

第四节 表格中内容更新到数据库

数据流:
将数据表在datagridview中显示出来——将dataGridView1.DataSource转换成表格形式——通过OleDbCommandBuilder选取需要添加的数据库表格和连接,与前面的OleDbDataAdapter对象关联——通过adp.Update完成更新。
实现步骤如下:
1. 建立数据库连接
2. 实例化OleDbDataAdapter对象!
3. 建立一个DataSet对象,并把执行select语句得到的记录添加到其中
4.建立OleDbCommandBuilder对象!并让它与我们前面的OleDbDataAdapter对象关联
5. 对DataSet中包含表的特定记录进行增加、删除、修改
6. 执行OleDbDataAdapter对象的Update命令更新数据库
7. 关闭数据库连接

        private void Form1_Load(object sender, EventArgs e)
        {
            //viewAccessInfo();//显示数据库文件的内容到画面
            DateToAccess();
        }
        public void DateToAccess()
        {
            string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb";
            OleDbConnection conn = new OleDbConnection(str);
            adp = new OleDbDataAdapter("select * from NewTable", conn);
            DataTable dt = new DataTable();
            adp.Fill(dt);
            dataGridView1.DataSource = dt;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            var dt = (DataTable)dataGridView1.DataSource;
            OleDbCommandBuilder cmdb = new OleDbCommandBuilder(adp);
            adp.Update(dt);
        }

注意事项:
1.不含主键字段,执行Select语句没有任何问题,但数据库无法执行Insert、Update和Delete语句。若要对显示出来的数据进行修改并更新数据库,务必把数据库表格的主键(Primary Key)带上。
2.OleDbCommand属于DBcommand(还包括odbcCommand\OracleCommand\SqlCommand)类派生,DBcommand的作用是:当建立与数据源的连接后,可以使用 DBCommand 对象来执行命令并从数据源中返回结果;
3.DataAdapter 用于从数据源检索数据并填充 DataSet 中的表。DataAdapter 还将对 DataSet 的更改解析回数据源。DataAdapter 使用 .NET Framework 数据提供程序的 Connection 对象连接到数据源,并使用 Command 对象从数据源检索数据以及将更改解析回数据源。
4.OleDbCommandBuilder就是相当于updatecommand,但是它是自动调用的。

第三章 SQL基础教程

单击打开教程链接文章来源地址https://www.toymoban.com/news/detail-440277.html

持续更新中。。。。。。。。

到了这里,关于C#操作Access数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据库概论】第一章 数据库概论

    数据 数据是数据库中存储的基本对象,一般数据是描述事物的符号记录,这种符号记录可以输数字,也可以是文字、图形、音频等。 数据库 数据库是长期存储在计算机内有组织的,可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,基友较小

    2024年02月05日
    浏览(42)
  • 第一章 SQL Server 数据库部署

     个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。 座右铭:海不辞水,故能成其大;山不辞石,故能成其高。 个人主页: 小李会科技的主页   目录 一 数据库介绍 (1)使用数据库的必要性 (2)数据库的基本概念  1.数

    2024年02月07日
    浏览(49)
  • 【MySQL新手到通关】第一章 数据库概述

    持久化(persistence): 把数据保存到可掉电式存储设备中以供之后使用 。大多数情况下,特别是企 业级应用, 数据持久化意味着将内存中的数据保存到硬盘上加以”固化” ,而持久化的实现过程大多 通过各种关系数据库来完成。 持久化的主要作用是 将内存中的数据存储在关

    2024年02月07日
    浏览(54)
  • 数据库系统概论(第五版)——第一章参考答案

    第1章 绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 ( 1 )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系

    2024年01月23日
    浏览(45)
  • 【软考数据库】第一章 计算机系统基础知识

    目录 目录 1.1 计算机系统 1.1.1 计算机硬件组成 1.1.2 中央处理单元 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 体系结构分类 1.2.2 指令系统存 1.2.3 储系系统 1.2.4 输入/输出技术 1.2.5 总线结构 1.3 可靠性、性能、安全 1.3.1 计算机可靠性 1.3.2 计算机系统的性能评价 1.

    2023年04月13日
    浏览(110)
  • 开源数据库MYSQL DBA运维实战 第一章 部署

    数据库管理系统  DBMS    SQL(RDS关系型数据库) DBA  工程师 DDL  数据库定义语言:数据库,表,视图,索引,存储过程,函数 DML  数据库操纵语言:插入数据insert,删除数据delete,更新数据update DQL  数据库查询语言:查询数据selete DCL  数据库控制语言:例如控制用户的访

    2024年02月21日
    浏览(59)
  • 数据库系统概述——第一章 绪论(知识点复习+练习题)

    ✨ 博主: 命运之光 🦄 专栏: 离散数学考前复习(知识点+题) 🍓 专栏: 概率论期末速成(一套卷) 🐳 专栏: 数字电路考前复习 🦚 专栏: 数据库系统概述 ✨ 博主的其他文章: 点击进入博主的主页​​​​​ 前言: 身为大学生考前复习一定十分痛苦,你有没有过以

    2024年02月09日
    浏览(56)
  • 数据库安全-第一章 Mysql 安全基础-【web 环境搭建——LAMP-2】(LAMP——apache2环境搭建)

    Apache HTTP 服务器项目致力于为现代操作系统(包括 UNIX 和 Windows)开发和维护开源 HTTP 服务器。该项目的目标是提供一个安全、高效且可扩展的服务器,该服务器提供与当前 HTTP 标准同步的 HTTP 服务。 Apache 软件基金会和 Apache HTTP 服务器项目在2021年6月1日宣布发布 Apache HTTP 服

    2024年02月20日
    浏览(51)
  • C#使用MongoDB-第一章 基本操作

    这里在C#中所使用的连接MongoDB数据库的依赖库为 MongoDB.Driver ,使用前先到Nuget中进行安装。 MongoDB.Driver 中,用于连接数据库的类型为 MongoClient 。 注意, MongoClient 对象表示的是数据库的连接池,因此我们在开发项目时,大多数情况只需要创建一个 MongoClient 实例就够了。 标准

    2024年01月17日
    浏览(42)
  • Access数据库操作踩坑记:数据溢出,设置1字段为Null是因为类型转换失败

    从过了2008年以后,就没有操作过Access数据库了,本以为应该是就此告别这它了。之后有本地存储肯定是sqlite。没想到最近项目上又碰到了Access操作。类型贼少,还不和大伙一致。总是那么搞特殊。这不,一操作就踩坑。还不知道具体错在哪里。胸闷...... 1 数据溢出 多半是由

    2024年02月04日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包