教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

C#与Access数据库相关操作

来源:网络收集 时间:2026-10-03
导读: 简单实用 C#对Access数据库的操作 下面以Access数据库为例说明,用C#的DataSet类访问数据库的一些操作方法。 操作涉及的主要C#类有: DataSet:对应数据库表的一个集合,实际上是数据库表在内存中的一个缓存 DataTable:对应数据库表,是数据库表行的集合 Da

简单实用

C#对Access数据库的操作

下面以Access数据库为例说明,用C#的DataSet类访问数据库的一些操作方法。

操作涉及的主要C#类有:

DataSet:对应数据库表的一个集合,实际上是数据库表在内存中的一个缓存

DataTable:对应数据库表,是数据库表行的集合 DataRow:对应数据库表行 OleDbConnection:建立数据库连接

OleDbDataAdapter:由数据库生成DataSet,并负责DataSet与数据库的同步

OleDbCommandBuilder:生成更新数据库所需的指令

DataSet、DataTable、DataRow用于数据在缓存中的操作,这上面的操作只有更新到数据库中,修改结果才会被永久保存。OleDbConnection 是用OLEDB方法连接数据库所必需的。

简单实用

OleDbDataAdapter和OleDbCommandBuilder用来生成DataSet,完成数据库更新。与OleDbDataAdapter和OleDbCommandBuilder相对应,SqlDataAdapter和SqlCommandBuilder也可以完成用SQL语言为指令的数据库更新。

假设在D:盘创建了Access数据库,其路径为

d:\0DBAcs\account.mdb,数据库中有一张名为kaizhi的数据库表。表结构如下:

简单实用

表建好之后:(1)对表中添加新数据(2)查询表中的某个字段。为了实现这两项功能,以下几个问题要考虑: 1准备工作

声明必须的公共变量

建立与数据库的连接,创建DataSet对象 2添加记录

在DataSet对象上添加记录

同步DataSet对象对象与数据库中的数据,这一点很重要,很多人忘记了数据进行同步,结果往往是添加、修改的数据不能保存到数据库中。

3查询数据库表中某记录的某字段;

我们可以将上述功能用一个类DataOper实现,下面是程序设计的主要活动。

声明要用的C#系统类 using System;

using System.Collections.Generic;

简单实用

using System.Text; using System.IO; using System.Data; using System.Data.OleDb; using System.Data.SqlClient;

声明DataOper类中的公共变量 private string DBlocation;

private OleDbConnection dbconn; //数据库连接 private OleDbDataAdapter da;

建立与数据库的连接,这里采用了OLEDB方法: dbconn = new

OleDbConnection(@"provider=microsoft.jet.oledb.4.0; Data Source=d:\0DBAcs\account.mdb"); dbconn.Open();

简单实用

创建DataSet对象

da = new OleDbDataAdapter(@"select * from kaizhi", dbconn); //引用数据库连接dbconn并依据SQL语句"select * from kaizhi"创建OleDbDataAdapter对象da

DataSet ds = new DataSet(); //创建DataSet对象

da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象

添加记录并更新数据库

OleDbCommandBuilder cb = new OleDbCommandBuilder(da); // 创建OleDbCommandBuilder对象cb用于更新OleDbDataAdapter对象da的Insert、Delete、Update指令

da.UpdateCommand = cb.GetUpdateCommand(); //更新OleDbDataAdapter对象da的指令

设计人员可以编写自己的更新指令,也可以象上面所写的那样用系统默认的指令。但不管怎样,上面的语句不能缺少,否则程序在运行中会抛出异常System.InvalidOperationException,并提示:Update

简单实用

requires a valid InsertCommand when passed DataRow collection with new rows.

DataRow drx = ds.Tables[0].NewRow(); //创建一条新记录行

drx["kzren"] = "kzren"; drx["kzname"]="kzname"; drx["riqi"]=2008-10-11; drx["shuoming"]="shuoming"; drx["zonge"] = 12; drx["shuliang"] = 3; drx["danjia"] = 4;

ds.Tables[0].Rows.Add(drx); //在表中追加记录 da.Update(ds); //更新数据库

简单实用

要查询引用某记录的某字段,直接按如下的方法引用就可以了。 String kx=ds.Tables[0].Rows[0]["kzren"].ToString()

连接access

首先看一个例子代码片断: 程序代码:

-------------------------------------------------------------------------------- using system.data; using system.data.oledb; ......

string strconnection="provider=microsoft.jet.oledb.4.0;"; strconnection+=@"data source=c:\begaspnet\northwind.mdb"; oledbconnection objconnection=new oledbconnection(strconnection);

简单实用

......

objconnection.open(); objconnection.close(); ......

-------------------------------------------------------------------------------- 解释:

连接access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!

strconnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源.

"provider=microsoft.jet.oledb.4.0;"是指数据提供者,这里使用的是microsoft jet引擎,也就是access中的数据引擎,就是靠这个和access的数据库连接的.

"data source=c:\begaspnet\northwind.mdb"是指明数据源的位置,他的标准形式是"data source=mydrive:mypath\myfile.mdb". ps:

1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字

简单实用

符.

2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:

strconnection+="data source=";

strconnection+=mappath("northwind.mdb"); 这样就可以省得你写一大堆东西了!

3.要注意连接字符串中的参数之间要用分号来分隔. "oledbconnection objconnection=new

oledbconnection(strconnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道.

"objconnection.open();"这用来打开连接.至此,与access数据库的连接完成.其余操作(插入,删除...)请参阅相关书籍 连接sql server 例子代码片断: 程序代码:

--------------------------------------------------------------------------------

简单实用

using system.data;

using system.data.sqlclient; ...

string strconnection="user id=sa;password=;"; strconnection+="initial

catalog=northwind;server=yoursqlserver;"; strconnection+="connect timeout=30"; sqlconnection objconnection=new sqlconnection(strconnection); ...

objconnection.open(); objconnection.close(); ...

-------------------------------------------------------------------------------- 解释:

连接sql server数据库的机制与连接access的机制没有什么太大的

…… 此处隐藏:3781字,全部文档内容请下载后查看。喜欢就下载吧 ……

C#与Access数据库相关操作.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/54699.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)