代码中的事务约束

在对数据库的操作中,有时一个操作往往涉及到多张表,为了避免出现向5张表中插入记录,结果插入到第三张的时候出错,结果最后导致第一二张表已插入数据,而后面三张没有插入所带来的数据不一致的情况,我们在写代码的时候需要用事务来约束。

如下:

//事物,保证数据的一致性
using (TransactionScope tr = new TransactionScope())
{
  DbHelper.ExecuteSql("insert into T_student values('lidan',23)");//操作第一张表

  DbHelper.ExecuteSql("insert into T_course values('数学')");//第二张(如果这里出问题,那么对第一张表的操作也不会进行,保证了数据的一致性
  int id = DbHelper.GetMaxID("id", "T_course") - 1;
  DbHelper.ExecuteSql("insert into T_performance values('100',"+id+")");//第三张
  tr.Complete();//当都成功后才提交到数据库

}

 

写给自己看看,也写给菜鸟看看,高手多给讲讲高深的东西,这些都太基础了,学习中。

 

posted @ 2014-07-04 16:00  零一二  阅读(330)  评论(1编辑  收藏  举报