在服务器中有一个数据表,它同时被多个用户访问,怎样才能使每个用户都能访问到正确的记录。也就是怎么样才不会让一个客户访问一个被其它用户修改的记录,
或该记录正被删除。用什么机制实现才是最安全可靠的?
  我查了很多的资料,有点用的好象是Sql Server 提供了锁的机制,但好象系统提供的机制
一经触发,程序就死掉了。哪位高人能告诉我锁是怎么用的啊?一定多多给分。
  或者大家还有更好的机制!!!
  系统:Delphi5 + Server2000 + Window2000 Server。

解决方案 »

  1.   

    sql server中,你在更新数据时,比如INSERT,UPDATE,DELETE是默认要锁定表头的,如果你启用了缓冲及事务,则只是在你提交时才加锁;如果你非要限制每个用户只访问一定的记录,你可以手工加锁,将需要进行更新记录全部锁定;但这样做的问题是效率很低的.一般处理的方法是在提交更新时才加锁(即交给DBMS来完成);如果提交失败,则作简单的回滚或丢失本次操作结果,如果不能丢弃,则还有其他方法可以实现的,你可以取得字段的修改前的值,修改后的值及数据库当前值,然后作强制更新.