C#中事务处理问题
要求:所有操作都要用存储过程进行出里!!并且封装到一个类InsUser里面,!
先往A表插入一条记录,存储过程为 Ins_A
再把B表的相关记录删除,存储过程为 Del_B
最后往C表插入多条记录,存储过程为 Ins_C,其中每条记录的信息从用户的输入界面得到,需要用循环调用 Ins_C,
现在问题是怎么在程序中用一个事务处理把这些操作装在一起,维护数据的一致性?
用到是C#
现在我用OleDbCommand.Transaction, 发现当Ins_A,Del_B 存储过程都已经正常结束,在循环调用 Ins_C时,如果插入某条记录时出错,虽然用了OleDbCommand.Transaction..Rollback(); 但是并没有把Ins_A,Del_B,和Ins_C已经发生的操作回滚,数据不能保持一致,
是不是在程序里一个事务处理中的存储过程不能回滚?