关于C#与Access的一个例子[转]
2009-10-12 09:22
274 查看
Asp.net夜话之七:ADO.NET介绍
http://blog.csdn.net/zhoufoxcn/archive/2008/10/13/3066799.aspx
http://www.albertsong.com/read-56.html
本文介绍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 , 下载:3089次)
本例程是一个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编程的良好示例,例如添加数据时界面并没有很好地更新。
运行截图
后记:
Access的数据访问操作暂时到此为止,希望这个例子对初学C#和Access的有一点点帮助。
明天将这个例子改成访问MySQL的例程。
http://blog.csdn.net/zhoufoxcn/archive/2008/10/13/3066799.aspx
http://www.albertsong.com/read-56.html
本文介绍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 , 下载:3089次)
本例程是一个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编程的良好示例,例如添加数据时界面并没有很好地更新。
运行截图
后记:
Access的数据访问操作暂时到此为止,希望这个例子对初学C#和Access的有一点点帮助。
明天将这个例子改成访问MySQL的例程。
相关文章推荐
- C# 关于委托和事件的妙文:通过一个例子详细介绍委托和事件的作用;Observer模式简介
- C#中关于委托练习的一个例子
- C#中关于委托练习的一个例子
- C#中关于集合的一个小例子
- asp.net2.0(c#)关于画图的一个例子;
- C# 关于委托和事件的妙文:通过一个例子详细介绍委托和事件的作用;Observer模式简介
- C# 关于反射类[System.Reflection]的一个小例子
- C# 关于委托和事件的妙文:通过一个例子详细介绍委托和事件的作用;Observer模式简介
- 关于C#2.0泛型应用的一个小例子
- .NET委托:一个关于C#的睡前故事
- 一个极其简单的在线C#IDE例子(zz)
- 关于SQL优化的一个小试例子
- windows下 python 关于管通道(程序回显)处理的一个小例子
- c# 学习笔记之九 事件(event)的使用,一个简单例子揭示机理
- 一个关于Comparator的使用例子
- 关于虚函数一个很好的例子
- 一个简单的C#多线程间同步的例子 收藏
- C# 一个例子,北大青鸟的。自己变了下。
- android中一个关于ScrollView的例子
- C# 关于DSA&RSA两种不同加密方式的例子