首页 新闻 会员 周边

关于事务问题

0
悬赏园豆:10 [待解决问题]

数据库有个账单表A  有个账单总金额, 有个费用明细表B 有费用金额 ,A与B是一对多关系。

现在要对B表中的费用进行核销,

操作如下:

1.选中多比费用,这些费用可能属于多个账单。

2.录入核销费用的金额,修改B表中的字段,同时修改该费用对应账单的金额。

3.C#示例如下:

for(选中的)

{

费用核销金额=已核销金额+本次核销;

if(账单不为空)

{

   账单金额=原金额+核销金额;

}

更新账单表//如果不更新,下次循环账单金额就出错。

}

//统一提交费用信息。

出现错误时,费用数据能回滚,但账单记录就回滚不出去了。

是不是我判断逻辑有问题? 应该如何避免呢?或是通过其他途径实现这种多事务回滚

请高手指教,谢谢

Blues T的主页 Blues T | 初学一级 | 园豆:11
提问于:2012-09-20 15:14
< >
分享
所有回答(2)
0

你每条要执行的SQL都使用了同一个 SqlTransaction 对象吗?

Launcher | 园豆:45045 (高人七级) | 2012-09-20 15:17

是的,每条记录都放在哈希表里,一起执行的

支持(0) 反对(0) Blues T | 园豆:11 (初学一级) | 2012-09-20 15:20

@Blues T: 你把代码贴出来吧。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2012-09-20 15:33
0

http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqltransaction(v=vs.80).aspx

chenping2008 | 园豆:9836 (大侠五级) | 2012-09-20 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册