你的意思是否用DATASET缓存数据库表时,而用户的更改只在DATASET中更改并没有更改数据库,在此时另外的用户又更改了该数据库表时,怎么处理是吗?对于该问题,我也不知道DOTNET中有没有好的方法,在ADO中我时直接调用SQL语句更改数据库的(在事务中),所以没有问题,但当用DATASET时就有问题了!

解决方案 »

  1.   

    说白了,你用c#提供的控件的方法(如:UPDATE什么的),C#会帮你加上判断后台数据是否被修改,根据你的设置,会有不同的结果。
    如果你用自己写的SQL语句,当然可以自己控制修改的结果,比如,你可以全然不管数据是否被别人修改就再设置某些值,也可以判断某些条件。当然,根据不同的数据操作性质有不同的解决方案。
      

  2.   

    事实上简单的提交DATASET的更改会有问题,如运输部调出客户的订单准备发货(很多张订单),此时财务部冻结某客户的订单不允许发货,该情况下已经调出到运输部操作电脑的订单没有更新,于是业务逻辑被打破,系统出问题了,这只是一个案例,其他还有很多业务逻辑是这样的