数据库加锁问题(100分)

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

zjj12

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用BDE连接的sybase数据库,不知为何每次查询(query控件)都要加锁数据库,请
各位高手帮帮忙。
 
为什么你要加锁呢?
 
用了CT-LIB方式就是这样的(BDE ADMIN 里的config->drivers-native->sybase里是SQLSSC32.DLL)
服务器端会帮你在表上加一个共享锁,而别的要update这个表时就被锁住了。不光是TQuery会,TTable也会,
只要是一个表被打开并输出部分数据后,立即加上共享锁。
解决方法是
TQuery或TTable打开后,算recordcount,或last或fetchall都可马上解锁,把关联的dbgrid移到最下面也行。

所以建议不要直接用dbgird打开一个表,而且数据集不要太大,不然fetchall时花的时间让你受不了。
 
后退
顶部