如何在Access中对记录锁定和如何侦测记录被锁定?
哪位大侠肯指点,一定给高分!

解决方案 »

  1.   

    Access 自己不能处理并发吗 ? ...
      

  2.   

    奇怪!wjlsmail(计算机质子)的回复好象是一个外行说的话!太不专业了!
      

  3.   

    真被你说中了的确是外行,从来还没用过 Access还有 , 发送者 xiaocai73 发送时间 2003-4-7 21:16:31 删除  回复  
    内容 你不懂记录锁定就不要乱回复好吗?
    不是大虾就不要乱充大虾好吗?真高抬我了:) ,这句话要是让我大哥看到岂不会笑死 :) 
    我参与CSDN只是学习和表达我的观点,这儿言论自由,恰好给我一个长见识和乱说话的机会:)--------------------------------------------------------
    我上面回复的理由 :我猜楼主提着这个问题的原因是 : 同一个程序,存在多人对数据库表的同时更新(不知我猜对没有) ;   对于大型数据库如 Sql Server 2000 / Oracle ,数据库本身就有并发处理的能力,有很完善的并发机制来对数据库进行读写,它会根据用户对数据库表的操作类型自动作 记录/页/表 的锁定,在程序级并不需要对多用户的并发操作过多考虑,不需要手动加锁 ,我们只要对一些突发事件下有可能出现的"脏数据"做出应对来保证数据的完整性和一致性,也就是基本的一些事务处理 ; Access 我从来没有用过我怀疑它不具备处理并发操作的能力,因此我提出"加一个 标志字段"的建议,我是这样想的 :  首先,死锁是应该是这样造成的 :
      A 用户 写 a 表(A对a加锁)需要 b 表资源 , B 用户 写 b 表(B对b加锁) 需要 a 表资源 ,而两表被两个用户交叉锁定不能放开控制权也就是不能解锁,产生死锁 ;
     
      我的加一个字段的想法, 写表前首先检查这个字段,如果是'1',则已被别的用户锁定于是等待 ,是'0' 则 先置'1'再操作表完成后再还原为'0'释放锁 .  其实,Access 如果用在多用户中我想效果不会怎么好,对并发没有很好的管理,好像也不能使用存储过程,不如用别的;(外行的话说错了别怪)-----------------------------------------------
    楼主 : 每个人都有一个成长的过程,我很清楚自己一切才都刚刚起步,初学 ; 但我有表达自己观点的权利,何况是在一个崇尚自由与互助的论坛 .
    -----------------------------------------------外行乱侃,说错的地方莫怪:)
      

  4.   

    对记录进行锁定加标志字段是不行的,想想:当多个线程同时访问该记录时,是来不及更改标志的,而且,Access中不支持ROWLOCK的语句。