日期:2014-05-16  浏览次数:20420 次

打造自己的数据访问层

打造自己的数据访问层

?

http://database.51cto.com/art/201105/260494.htm

?

项目开发中,大多数开发人员的核心工作就是如何对数据进行存储及访问。.NET中,ADO.NET可以使用DbConnection进行连接,DataSet进行数据存储,DataAdapter进行数据更新。

?

项目开发中,大多数开发人员的核心工作就是如何对数据进行存储及访问。为了进行数据操作,我们首先得解决几个基本问题:

1、如何与一个数据库建立连接。

2、如何从数据库读取相应的数据。

3、如何对数据表进行增改操作。

.NET中,ADO.NET很方便的解决了上面三个问题,我们可以使用DbConnection进行连接,DataSet进行数据存储,DataAdapter进行数据更新。先看一段代码:

?

  1. //创建DbConnection对象连接数据库
  2. SqlConnection?conn?=?new?SqlConnection();
  3. conn.ConnectionString?=?"server=.;uid=sa;password=123456;?database=DATA_BASE;?max?pool?size=300;";
  4. //创建DataAdapter、Command对象,读取数据
  5. SqlDataAdapter?da?=?new?SqlDataAdapter();
  6. SqlCommand?cmd?=?new?SqlCommand();
  7. cmd.Connection?=?conn;
  8. cmd.CommandText?=?"SELECT?*?FROM?TEST";
  9. da.SelectCommand?=?cmd;
  10. //创建DataSet对象,存储数据,建立与物理表的映射
  11. DataSet?ds?=?new?DataSet();
  12. da.Fill(ds,?"TEST");?

上述代码实现对数据库“DATA_BASE”中“TEST”表数据读取,并用DataSet时行存储。

既然读出了TEST表中的数据,接下来要解决的就是如何对TEST表进行增、删、改操作。

为实现增、删、改操作,需要为DataAdapter指定InsertCommand、DeleteCommand以及UpdateCommand,并为每个Command对象绑定参数:

?

?
  1. //新增数据 ?
  2. cmd?=?new?SqlCommand(); ?
  3. cmd.Connection?=?conn; ?
  4. cmd.CommandText?=?"INSERT?INTO?TEST?(ID,?NAME,?VAL)?VALUES?(@ID,?@NAME,?@VAL)"; ?
  5. SqlParameter?param?=?new?SqlParameter("@ID",?null); ?
  6. param.SourceColumn?=?"ID"; ?
  7. cmd.Parameters.Add