ACCESS记录锁定.(200分)

  • 主题发起人 主题发起人 zhanggeye
  • 开始时间 开始时间
Z

zhanggeye

Unregistered / Unconfirmed
GUEST, unregistred user!
谁知道在delphi中如何实现如access哪样锁定access数据库的记录.
ADO控件中ltOptimistic锁模式都不起作用。
(别告诉我换用SQL SERVER!)
 
>>如access哪样锁定access数据库的记录
access是哪样?

如果要在修改的时候先锁定,应该用ltPessimistic。
 
access能提供多种锁定方式,最符合用户习惯的要算是被动锁了.
简单说就和FOX一样,在开始编辑时就锁定要编辑的记录.而不是提交时才锁定记录.
如果总是要在提交时才向用户报告说记录已经被修改了,哪不是要浪费用户好多工作?
SQL SERVER可以由数据库后能锁定达到目的(李维书有介绍).
但access数据库就不知如何操作了.
找了好多资料就时没有发现.
难道只有用VB来写了?
 
>>在开始编辑时就锁定要编辑的记录.而不是提交时才锁定记录.

我前面不是说过了?
“如果要在修改的时候先锁定,应该用ltPessimistic。”
 
是用ltPessimistic,
粘贴时切错了......
就是没有用,
我还以为是CursorLocation的问题,改了也没用,
细想一下access应是没有什么servercursor的.


 
哪位大虾有用DELPHI+ACCESS实现这种方法的?
难道真的大家都不用ACCESS数据库做多用户软件吗?

 
听说access这方面有问题,VB真的可以吗?你用过吗?
如果VB真的可以,我相信有办法。
 
关于这个问题找到有关说明:
**********************************
Microsoft Jet 数据库引擎不支持动态游标。
因此,OLE DB Provider for Microsoft Jet
不支持 adLockDynamic 游标类型。当请求动态游标时,
提供者将返回键集游标并重新设置 CursorType 属性
以指明返回的 Recordset 类型。进一步说,
如果请求可更新的 Recordset
(LockType 是 adLockOptimistic、adLockBatchOptimistic
或 adLockPessimistic),
提供者也将返回键集游标并重新设置 CursorType 属性。
********************************
这也是说明ado是实现不了被动锁定的了?/!
关于之前说的用VB,应为VBA FOR ACCESS,
误导,向温柔一刀致歉.
(我才不去学VB,数据库引擎的问题VB也是无可奈何的吧.)
 
这才和我了解得差不多。 :-)
不过,据说也不是100%不支持,你用access锁定一条记录,
delphi/vb这边似乎就可以感知到(在ltPessimistic情况下)。
我没试验过,你可以试验一下。
如果是这样的话,又是微软自己那套“私相授受”的路子。
 
用access锁定一条记录后,
delphi可以检测到记录被锁定,
更重要的居然报告锁定方的机器名和用户名!
我怀疑是在锁文件(LDB)上记录了有关信息,
作为文件共享形式的数据库应是没有这个功能的,
进一步说,是不是可以直接操作LDB文件实现记录锁定呢?
哪位大虾有这方面的本事或资料?
 
如果没有温柔一刀大侠发言,
这条问题便唱独角戏了。
200分全赠一刀!
 
真的吗? :-)
 
接受答案了.
 
后退
顶部