none
在update access数据库中一个表的时候,是不是其它用户就不能操作这个表了? RRS feed

  • 问题

  • 我使用Asp.net+ACCESS开发的WEB,有时用户在更新数据时没有全部更新,只是运行了其中部分的update语句,我怀疑是不是当一个用户在执行update的时候,就把这个表给独占了,别的用户就不允许执行insert or update or delete 操作了?

    如何解决遇到的这个问题?谢谢。

    2011年2月12日 13:22

答案

  • 您好,其它用户可以操作,除非起事务。

    有时候事情还不仅仅是起个事务就能解决的,特别是多个用户可以修改同一条记录。例如,用户a打开一条信息正在看,用户b随后打开同一信息,但b的速度快,先修改了,此时如果a也随后修改,那么a并不知道b已修改,b的修改将被a覆盖。

    所以需要有个机制来保证,例如给每条记录设计一个时间戳。当a、b读取时带着这个时间戳,当修改时判断一下是否是读取时的事件戳,如果是则让修改该记录并同时修改时间戳,不是则不让修改。

    2011年2月13日 11:39
    版主

全部回复

  • 您好,其它用户可以操作,除非起事务。

    有时候事情还不仅仅是起个事务就能解决的,特别是多个用户可以修改同一条记录。例如,用户a打开一条信息正在看,用户b随后打开同一信息,但b的速度快,先修改了,此时如果a也随后修改,那么a并不知道b已修改,b的修改将被a覆盖。

    所以需要有个机制来保证,例如给每条记录设计一个时间戳。当a、b读取时带着这个时间戳,当修改时判断一下是否是读取时的事件戳,如果是则让修改该记录并同时修改时间戳,不是则不让修改。

    2011年2月13日 11:39
    版主
  • 你的意思是当某个用户在更新一个表的时候,另一个用户也可以更新这个表?(同一个表中的不同记录)
    2011年2月14日 6:52
  • 你的意思是当某个用户在更新一个表的时候,另一个用户也可以更新这个表?(同一个表中的不同记录)

    是的。
    2011年2月14日 13:35
    版主