有个需求 现在有个想法是这样 3行 int sum=dba.ExecuteNoQuery(“select sum([age]) FROM a group by team1”)// 计算该组人员之合 4行 dba.CommitTransaction();// 提交事务 5行 if(sum>300) // 当前的数据库采用了一个封装的库,我在外面是调不到第6行的事务对象的, |
|
2分 |
http://zhidao.baidu.com/link?url=zbPjruwhHEbvjg8MMcd9igthHsP3TWbbqMa2jpz20FQiwj8n0NtPvawxVXAdsRcOHLGLFAEPSxuh4ksneQ8LfK
|
25分 |
1行 dba.BeginTransaction();// 开始事务
2行 dba.ExecuteNoQuery(insert into a(age,name,team) value(20,xxx,team1);// 插入一条人员记录 3行 int sum=dba.ExecuteNoQuery(“select sum([age]) FROM a group by team1”)// 计算该组人员之合 5行 if(sum>300) 6行 dba.Transaction.Rollback();// 如果大于300了,就回滚,(插入的那条无效) 4行 else dba.CommitTransaction();// 提交事务 |
这个可行吗,没有提交事务,怎么可以回滚呢
|
|
自顶一
|
|
8分 |
提交了就没办法回滚了,回滚就是在提交前回滚的 |
提交了就没办法回滚了,回滚就是在提交前回滚的 提交之前的那些查询语句是可以得到值的?我一直以为提交之前,这些语句都不会执行? |
|
5分 |
不提交也可以查出数据的,自己可以测试下
|
哦.,如果不合要求,那不提交事务.然后直接关闭数据库吗,那样的话之前执行的SQL会不会有效? |