最近看了微软的 PetShop 4.0 其中有个OracleHelper.cs 类,为什么ExecuteNonQuery()的入口参数有些用 connectstring,有些却用事务,同时在其后的几个例子中对这个类的调用中,有点搞不明白,同样是对数据的更改语句,如 update delete (注意不是 select )有些却用事务参数,有些却不用事务参数而是用联接参数,望哪位高手指点迷津 

解决方案 »

  1.   

    update delete 这类的操作是要对数据进行本质上的修改,使用事务,可以保证数据的完整性,那样就不至于有一些数据被修改,其它数据因为某些原因出错,导致未被修改带来的数据错误
      

  2.   

    看需要。如果要保证一个操作对多个数据库操作(sql)同时成功或失败时就需要用事务,如果这个操作对期它数据库操作没有影响的话就可以不用事务。