数据库有个账单表A 有个账单总金额, 有个费用明细表B 有费用金额 ,A与B是一对多关系。
现在要对B表中的费用进行核销,
操作如下:
1.选中多比费用,这些费用可能属于多个账单。
2.录入核销费用的金额,修改B表中的字段,同时修改该费用对应账单的金额。
3.C#示例如下:
for(选中的)
{
费用核销金额=已核销金额+本次核销;
if(账单不为空)
{
账单金额=原金额+核销金额;
}
更新账单表//如果不更新,下次循环账单金额就出错。
}
//统一提交费用信息。
出现错误时,费用数据能回滚,但账单记录就回滚不出去了。
是不是我判断逻辑有问题? 应该如何避免呢?或是通过其他途径实现这种多事务回滚
请高手指教,谢谢
你每条要执行的SQL都使用了同一个 SqlTransaction 对象吗?
是的,每条记录都放在哈希表里,一起执行的
@Blues T: 你把代码贴出来吧。
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqltransaction(v=vs.80).aspx