预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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的数据库表。表结构如下: 表名;Kaizhi字段FieldName类型说明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对象上添加记录 同步DataSet对象对象与数据库中的数据,这一点很重要,很多人忘记了数据进行同步,结果往往是添加、修改的数据不能保存到数据库中。 3查询数据库表中某记录的某字段; 我们可以将上述功能用一个类DataOper实现,下面是程序设计的主要活动。 声明要用的C#系统类 usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.IO; usingSystem.Data; usingSystem.Data.OleDb; usingSystem.Data.SqlClient; 声明DataOper类中的公共变量 privatestringDBlocation; privateOleDbConnectiondbconn;//数据库连接 privateOleDbDataAdapterda; 建立与数据库的连接,这里采用了OLEDB方法: dbconn=newOleDbConnection(@"provider=microsoft.jet.oledb.4.0;DataSource=d:\0DBAcs\account.mdb"); dbconn.Open(); 创建DataSet对象 da=newOleDbDataAdapter(@"select*fromkaizhi",dbconn);//引用数据库连接dbconn并依据SQL语句"select*fromkaizhi"创建OleDbDataAdapter对象da DataSetds=newDataSet();//创建DataSet对象 da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象 添加记录并更新数据库 OleDbCommandBuildercb=newOleDbCommandBuilder(da);//创建OleDbCommandBuilder对象cb用于更新OleDbDataAdapter对象da的Insert、Delete、Update指令 da.UpdateCommand=cb.GetUpdateCommand();//更新OleDbDataAdapter对象da的指令 设计人员可以编写自己的更新指令,也可以象上面所写的那样用系统默认的指令。但不管怎样,上面的语句不能缺少,否则程序在运行中会抛出异常System.InvalidOperationException,并提示:UpdaterequiresavalidInsertCommandwhenpassedDataRowcollectionwithnewrows.