Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-21 #1 谁知道在delphi中如何实现如access哪样锁定access数据库的记录. ADO控件中ltOptimistic锁模式都不起作用。 (别告诉我换用SQL SERVER!)
温 温柔一刀 Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-21 #2 >>如access哪样锁定access数据库的记录 access是哪样? 如果要在修改的时候先锁定,应该用ltPessimistic。
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-21 #3 access能提供多种锁定方式,最符合用户习惯的要算是被动锁了. 简单说就和FOX一样,在开始编辑时就锁定要编辑的记录.而不是提交时才锁定记录. 如果总是要在提交时才向用户报告说记录已经被修改了,哪不是要浪费用户好多工作? SQL SERVER可以由数据库后能锁定达到目的(李维书有介绍). 但access数据库就不知如何操作了. 找了好多资料就时没有发现. 难道只有用VB来写了?
access能提供多种锁定方式,最符合用户习惯的要算是被动锁了. 简单说就和FOX一样,在开始编辑时就锁定要编辑的记录.而不是提交时才锁定记录. 如果总是要在提交时才向用户报告说记录已经被修改了,哪不是要浪费用户好多工作? SQL SERVER可以由数据库后能锁定达到目的(李维书有介绍). 但access数据库就不知如何操作了. 找了好多资料就时没有发现. 难道只有用VB来写了?
温 温柔一刀 Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-21 #4 >>在开始编辑时就锁定要编辑的记录.而不是提交时才锁定记录. 我前面不是说过了? “如果要在修改的时候先锁定,应该用ltPessimistic。”
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-21 #5 是用ltPessimistic, 粘贴时切错了...... 就是没有用, 我还以为是CursorLocation的问题,改了也没用, 细想一下access应是没有什么servercursor的.
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-21 #6 哪位大虾有用DELPHI+ACCESS实现这种方法的? 难道真的大家都不用ACCESS数据库做多用户软件吗?
温 温柔一刀 Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-22 #7 听说access这方面有问题,VB真的可以吗?你用过吗? 如果VB真的可以,我相信有办法。
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-23 #8 关于这个问题找到有关说明: ********************************** Microsoft Jet 数据库引擎不支持动态游标。 因此,OLE DB Provider for Microsoft Jet 不支持 adLockDynamic 游标类型。当请求动态游标时, 提供者将返回键集游标并重新设置 CursorType 属性 以指明返回的 Recordset 类型。进一步说, 如果请求可更新的 Recordset (LockType 是 adLockOptimistic、adLockBatchOptimistic 或 adLockPessimistic), 提供者也将返回键集游标并重新设置 CursorType 属性。 ******************************** 这也是说明ado是实现不了被动锁定的了?/! 关于之前说的用VB,应为VBA FOR 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也是无可奈何的吧.)
温 温柔一刀 Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-23 #9 这才和我了解得差不多。 不过,据说也不是100%不支持,你用access锁定一条记录, delphi/vb这边似乎就可以感知到(在ltPessimistic情况下)。 我没试验过,你可以试验一下。 如果是这样的话,又是微软自己那套“私相授受”的路子。
这才和我了解得差不多。 不过,据说也不是100%不支持,你用access锁定一条记录, delphi/vb这边似乎就可以感知到(在ltPessimistic情况下)。 我没试验过,你可以试验一下。 如果是这样的话,又是微软自己那套“私相授受”的路子。
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-23 #10 用access锁定一条记录后, delphi可以检测到记录被锁定, 更重要的居然报告锁定方的机器名和用户名! 我怀疑是在锁文件(LDB)上记录了有关信息, 作为文件共享形式的数据库应是没有这个功能的, 进一步说,是不是可以直接操作LDB文件实现记录锁定呢? 哪位大虾有这方面的本事或资料?
用access锁定一条记录后, delphi可以检测到记录被锁定, 更重要的居然报告锁定方的机器名和用户名! 我怀疑是在锁文件(LDB)上记录了有关信息, 作为文件共享形式的数据库应是没有这个功能的, 进一步说,是不是可以直接操作LDB文件实现记录锁定呢? 哪位大虾有这方面的本事或资料?
Z zhanggeye Unregistered / Unconfirmed GUEST, unregistred user! 2000-08-26 #11 如果没有温柔一刀大侠发言, 这条问题便唱独角戏了。 200分全赠一刀!