query的问题,有诚意的请进(150分)

  • 主题发起人 主题发起人 hwj
  • 开始时间 开始时间
H

hwj

Unregistered / Unconfirmed
GUEST, unregistred user!
"record already locked by this session"
各位,别以为是网络数据库,这只是一个单机数据库详细如下:
一进销存程序,库a为主库(有no,n1,n2字段)。库b为从库(有no,m1,m2,m3)(但没定义为主从库)
现根据a 中的no 查询库b 的记录并修改(dbgrid) 因为no 的改变dbgrid 也改变,在no 值的变大变小的过程中出现"record already locked by this session "
有哪位大虾能帮我解决?
 
Sql语句呢?
 
在移动记录时,不要让a、b两个库连动;至少应该让他们退出编辑状态。
此外,你可能用的是TTable,最好将读a、b库的TTable加上Cache;
 
我用的是QUERY!!!
千中元:对老兄的大名太熟悉了,给EMAIL 给我,我给原码给你看!
hwjzxl@163.net
或:gzzc@gzzctl.com
 
先说一下你的问题可能出现在哪里:
这样的一个错误,一般出现在同一个Session中两个数据集对同一条记录进行修改。
但你这里只有一个数据集,所以情况可能是这样的:你在你自己的代码中手工的修改
数据集b中的值,而DBGrid也可以自动修改其数据值。是不是这样的冲突呢?关键看
你是如何更新这样的值的!
我说一个例子供你参考:
例子中用的数据库级的缓冲更新方式,
如果是缓冲更新方式,在你修改了Query数据集后,ApplyUpdates。
如果在ApplyUpdates之后,又重新关闭和打开这个Query,
并对此Query集的值进行修改,再存盘,就会有死机现象.
 
多人接受答案了。
 
后退
顶部