C# 操作access
来源:互联网 发布:数据分析末端效应 编辑:程序博客网 时间:2024/06/05 09:53
下面以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对象
添加记录并更新数据库
设计人员可以编写自己的更新指令,也可以象上面所写的那样用系统默认的指令。但不管怎样,上面的语句不能缺少,否则程序在运行中会抛出异常System.InvalidOperationExceptio
DataRow drx = ds.Tables[0].NewRow(); //创建一条新记录行
要查询引用某记录的某字段,直接按如下的方法引用就可以了。
String kx=ds.Tables[0].Rows[0]["kzren"].ToString()
来源:http://zhongainiyiren5.blog.163.com/blog/static/1715558082011829103313811/
- C#操作ACCESS
- C#操作ACCESS数据库
- c#操作ACCESS数据库
- C#操作ACCESS数据库
- C# Access操作
- c#操作Access数据库
- C# 操作ACCESS数据库
- C# 操作ACCESS数据库
- C# 操作ACCESS数据库
- C#操作Access类
- c#操作Access[下]
- c#操作Access[上]
- c#操作ACCESS数据库
- [转]c#操作Access
- C# 操作ACCESS数据库
- c#操作access*转载
- C#操作Access类
- C#操作Access类
- 1.简单的函数指针的应用
- C#的DataGridView中,如何选中新添加的行
- java中自定义锁实现synchronized功能
- 【Python运维脚本】Python监控网卡流量
- vim encoding
- C# 操作access
- Oracle EBS Alert 预警
- 多行文本框textarea的字数控制动态提示。(剩余字数提醒)
- 黑纸与白纸问题
- iOS网络编程-iOS中Socket编程介绍
- 如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)
- Hibernate hql 查询指定字段并获取结果集
- android.os.NetworkOnMainThreadException
- 扒网页并且解析