电子商务之数据访问层分析(七)

   这里主要分析的也是怎么在这层编写事务

Code

上面的代码注意首先要引用System.Configuration程序集,其次这是一个事务基类所有的事务类都会继承它。

下面是一个事务类继承了上面的基类:

Code

首先说明下要完成的功能:插入一个订单表的数据后,同时还要插入几张详细订单表。

注意Begin函数:

开始用connection.CreateCommand()构建一个command对象.

在用connction.BeginTransaction("stringname")构建一个名为stringname事务

再分别赋值command.Connection和command.Transantion

在下面分别构造两个对象:orderadd和orderdetailsdd

 

Code

这上面类封装了插入order表的操作。注意这里Add()方法参数是Trancation。

Code

这里分装了插入orderdetail表的操作。

 

这两个orderadd执行了将数据插入order表,然后根据刚刚插入order表数据中的product种类数量循环将一件件不同种类的product插入到详细订单当中去.运用try...catch 抓取异常或错误,如果发生异常或错误就会发生回滚,还原数据库初始状态。

 

在说说这层结构吧,这里将与数据库的操作分为了5类:select,delete,insert,update,transaction于是将相同的操作放在同一个文件下面。

这层一般的写法,一个是获得数据类和一个构造Sql参数类,在获得数据类中通过赋值不同的参数来重载Run函数从而得到所要的结果。

我就给出几种不同的重载Run函数的例子吧

1.带参数,返回结果(DataSet

Code

 2.不带参数,返回结果(DataSet)

Code

3.带参数,不返回结果(这里其实会返回受影响的行数,但是这里通过在表示层里 try...catch就可以判断是否执行成功)

Code

4.带参数,返回结果(object)

Code

 

posted @ 2009-11-25 10:29  胡佳180815  阅读(2422)  评论(3编辑  收藏  举报