c#操作Access数据库的简单例子

本文介绍C#访问操作Access数据库的基础知识,并提供一个相关的例程。
1.通过ADO.NET的OleDb相关类来操作Access
主要知识点如下:
using System.Data.OleDb;
using System.Data;
连接字符串:String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=product.mdb";
建立连接:OleDbConnection connection = new OleDbConnection(connectionString);
使用OleDbCommand类来执行Sql语句:
OleDbCommand cmd = new OleDbCommand(sql, connection);
connection.Open();
cmd.ExecuteNonQuery();
2.取得Access自增标识字段在插入数据后的id值
cmd.CommandText = @"select @@identity";
int value = Int32.Parse(cmd.ExecuteScalar().ToString());
return value;
3.执行事务
需要用到OleDbTransaction,关键语句如下:
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
OleDbTransaction transaction = null;
cmd.Connection = connection;
connection.Open();
transaction = connection.BeginTransaction();
cmd.Transaction = transaction;
cmd.CommandText=sql1;
cmd.ExecuteNonQuery();
cmd.CommandText=sql2;
cmd.ExecuteNonQuery();
transaction.Commit();
4.执行查询,返回DataSet
OleDbConnection connection = new OleDbConnection(connectionString);
DataSet ds = new DataSet();
connection.Open();
OleDbDataAdapter da = new OleDbDataAdapter(sql, connection);
da.Fill(ds,"ds");
5.分页查询
分页查询使用OleDbDataReader来读取数据,并将结果写到一个DataSet中返回。
以上内容封装为三个可重用的类:AccessDBUtil,AccessPageUtil,Page
代码这里下载下载文件AccessDBUtilDemo.rar (191.37 KB , 下载:1185次)
本例程是一个c#的winform程序,但是数据访问类可以在Web环境下使用。
本例程演示了:
1.Access数据库的插入,更新,修改,查询;
2.带参数的sql语句的使用,而不是拼SQL;
3.使用DataReader的分页查询,而不是用嵌套的SQL语句来分页;
4.用事务同时执行多个SQL语句;
5.在插入数据的同时返回最新的ID值;
6.整型,实型,字符串,日期型,布尔型五种数据类型的操作;
7.使用正则表达式来验证整数和实数;
8.listview用来显示数据的一些基本用法。
本示例不包括:
1.高效的分页查询,仅仅是提供了一种分页的方法,但我认为DataReader应该比嵌套的SQL语句快(未测试)。
2.完善的分页封装,只提供了分页的简单包装。
3.嵌套的事务处理,提供了同时执行多个sql语句的事务处理,但不支持嵌套事务。
4.listview的使用,只是利用winform控件来演示数据访问,因此不能作为winform编程的良好示例,例如添加数据时界面并没有很好地更新。
运行截图
attachments/200801/2386278027.png
后记:
Access的数据访问操作暂时到此为止,希望这个例子对初学C#和Access的有一点点帮助。
明天将这个例子改成访问MySQL的例程。
标签: C# Access
评论: 8 | 引用: 0 | 阅读: 2397
  • 1 
pretender [ 2008-03-17 16:11 网址 | 回复 | 编辑 删除 ]
谢谢分享,有了很大启发,希望更多交流.
ok [ 2008-04-24 19:03 | 回复 | 编辑 删除 ]
谢谢,正好用的上
congcong [ 2008-05-09 10:54 | 回复 | 编辑 删除 ]
谢谢,我是初学者,怎么没有看到怎么在Access数据库修改数据,
我编的怎么总是提醒修改不了呀
能不能帮忙写个,发到我的信箱里?谢谢!
王者之剑 [ 回复于2008-05-09 16:19 网址 | 编辑 删除 ]
你选中任何一条记录,它的内容会在上面显示出来,然后你可以修改,再保存就更新了。在程序里可以查找update这个字符串来找你要的代码。
congcong [ 2008-05-09 10:56 | 回复 | 编辑 删除 ]
对了我的信箱是lxz326@yahoo.com.cn
飘雪的河 [ 2008-07-14 01:50 | 回复 | 编辑 删除 ]
不错
liuyx [ 2008-11-05 15:12 | 回复 | 编辑 删除 ]
怎么 没有数据库呀
王者之剑 [ 回复于2008-11-06 14:42 网址 | 编辑 删除 ]
在bin/release下面,可以复制到debug下面来用
  • 1 
发表评论
昵 称: (必须)
密 码: (未注册用户可不填)
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容: