C对Access数据库的操作

上传人:大米 文档编号:494797581 上传时间:2022-12-08 格式:DOC 页数:17 大小:40.50KB
返回 下载 相关 举报
C对Access数据库的操作_第1页
第1页 / 共17页
C对Access数据库的操作_第2页
第2页 / 共17页
C对Access数据库的操作_第3页
第3页 / 共17页
C对Access数据库的操作_第4页
第4页 / 共17页
C对Access数据库的操作_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《C对Access数据库的操作》由会员分享,可在线阅读,更多相关《C对Access数据库的操作(17页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! C#对Access数据库的操作 (2008-10-16 17:53:40) 下面以Access数据库为例说明,用C#的DataSet类访问数据库的一些操作方法。操作涉及的主要C#类有:DataSet:对应数据库表的一个集合,实际上是数据库表在内存中的一个缓存DataTable:对应数据库表,是数据库表行的集合DataRow:对应数据库表行OleDbConnection:建立数据库连接OleDbDataAdapter:由数据库生成DataSet,并负责DataSet与数据库的同步OleDbCommandBuilder:生成更新数据库所需的指令Dat

2、aSet、DataTable、DataRow用于数据在缓存中的操作,这上面的操作只有更新到数据库中,修改结果才会被永久保存。OleDbConnection 是用OLEDB方法连接数据库所必需的。OleDbDataAdapter和OleDbCommandBuilder用来生成DataSet,完成数据库更新。与OleDbDataAdapter和OleDbCommandBuilder相对应,SqlDataAdapter和SqlCommandBuilder也可以完成用SQL语言为指令的数据库更新。假设在D:盘创建了Access数据库,其路径为d:0DBAcsaccount.mdb,数据库中有一张名为k

3、aizhi的数据库表。表结构如下:表名;Kaizhi字段Field Name类型说明1开支IDkzID长整型自动编号2开支人Kzren文本50字符3开支项目名kzname文本50字符4日期riqi日期/时间99-99-99;0掩码5开支说明shuoming文本225字符6总金额zonge单精度小数点任意;这项开支的总花费7数量shuliang长整型8单价Danjia单精度小数点任意表建好之后:(1)对表中添加新数据(2)查询表中的某个字段。为了实现这两项功能,以下几个问题要考虑:1准备工作声明必须的公共变量建立与数据库的连接,创建DataSet对象2添加记录在DataSet对象上添加记录同步D

4、ataSet对象对象与数据库中的数据,这一点很重要,很多人忘记了数据进行同步,结果往往是添加、修改的数据不能保存到数据库中。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

5、string DBlocation;private OleDbConnection dbconn; /数据库连接private OleDbDataAdapter da;建立与数据库的连接,这里采用了OLEDB方法:dbconn = new OleDbConnection(provider=microsoft.jet.oledb.4.0; Data Source=d:0DBAcsaccount.mdb);dbconn.Open();创建DataSet对象da = new OleDbDataAdapter(select * from kaizhi, dbconn); /引用数据库连接dbconn并

6、依据SQL语句select * from kaizhi创建OleDbDataAdapter对象daDataSet ds = new DataSet(); /创建DataSet对象da.Fill(ds); /用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象添加记录并更新数据库 OleDbCommandBuilder cb = new OleDbCommandBuilder(da); / 创建OleDbCommandBuilder对象cb用于更新OleDbDataAdapter对象da的Insert、Delete、Update指令 da.UpdateCommand =

7、 cb.GetUpdateCommand(); /更新OleDbDataAdapter对象da的指令设计人员可以编写自己的更新指令,也可以象上面所写的那样用系统默认的指令。但不管怎样,上面的语句不能缺少,否则程序在运行中会抛出异常System.InvalidOperationException,并提示:Update requires a valid InsertCommand when passed DataRow collection with new rows.DataRow drx = ds.Tables0.NewRow(); /创建一条新记录行 drxkzren = kzren; dr

8、xkzname=kzname; drxriqi=2008-10-11; drxshuoming=shuoming; drxzonge = 12; drxshuliang = 3; drxdanjia = 4; ds.Tables0.Rows.Add(drx); /在表中追加记录 da.Update(ds); /更新数据库要查询引用某记录的某字段,直接按如下的方法引用就可以了。String kx=ds.Tables0.Rows0kzren.ToString()连接access首先看一个例子代码片断:程序代码:-using system.data;using system.data.oledb;.

9、string strconnection=provider=microsoft.jet.oledb.4.0;strconnection+=data source=c:begaspnetnorthwind.mdb;oledbconnection objconnection=new oledbconnection(strconnection);.objconnection.open();objconnection.close();.-解释:连接access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!strconnection这个变量里存放的是连接数据库所需要的

10、连接字符串,他指定了要使用的数据提供者和要使用的数据源.provider=microsoft.jet.oledb.4.0;是指数据提供者,这里使用的是microsoft jet引擎,也就是access中的数据引擎,就是靠这个和access的数据库连接的.data source=c:begaspnetnorthwind.mdb是指明数据源的位置,他的标准形式是data source=mydrive:mypathmyfile.mdb.ps:1.+=后面的符号是防止将后面字符串中的解析为转义字符.2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:strconnection

11、+=data source=;strconnection+=mappath(northwind.mdb);这样就可以省得你写一大堆东西了!3.要注意连接字符串中的参数之间要用分号来分隔.oledbconnection objconnection=new oledbconnection(strconnection);这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道.objconnection.open();这用来打开连接.至此,与access数据库的连接完成.其余操作(插入,删除.)请参阅相关书籍连接sql server例子代码片断:程序代码:-us

12、ing 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 s

13、erver数据库的机制与连接access的机制没有什么太大的区别,只是改变了connection对象和连接字符串中的不同参数.首先,连接sql server使用的命名空间不是system.data.oledb,而是system.data.sqlclient.其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):user id=sa:连接数据库的验证用户名为sa.他还有一个别名uid,所以这句我们还可以写成uid=sa.password=:连接数据库的验证密码为空.他的别名为pwd,所以我们可以写为pwd=.这里注意,你的sql server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的sql server设置为windows登录,那么在这里就不需要使用user id和password这样的方式来登录,而需要使用trusted_connection=sspi来进行登录.initial catalog=northwind:使用的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号