- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                
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
?
字段
Field Name
类型
说明
1
开支ID
kzID
?长整型
自动编号
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#系统类
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.
                您可能关注的文档
最近下载
- 第一单元+写话:注意说话的语气(教学课件)-2023-2024学年二年级语文下册单元写话能力提升(统编版).pptx VIP
 - 心理健康与心理健康观.ppt VIP
 - 关爱保护未成年人.pptx VIP
 - 实践党创新理论“三个境界”.doc VIP
 - 企业危险化学品及危险化工工艺安全管理规定.docx VIP
 - 数电模电完整版练习试题附答案.doc
 - 企业设备、建(构)筑物拆除活动污染防治技术指南.pdf VIP
 - 2020 电工装备供应商数据采集及接口规范第1部分通用部分.docx VIP
 - 《画出你的想象》教学设计4-10画出你的想象-二年级上册美术.docx VIP
 - 心理卫生 mental health.ppt VIP
 
原创力文档
                        

文档评论(0)