TQUERY的问题(100分)

  • 主题发起人 主题发起人 script
  • 开始时间 开始时间
S

script

Unregistered / Unconfirmed
GUEST, unregistred user!
本人一个应用程序中有几个MDI FORM,其中一个FORM中的Tquery控件query1
做查询当查询结果出来后,当我让这个FORM失去焦点后,然后又激活这个FORM
但是此时发现query1.active 是false,
怎么做才能让query1保持active 都是True,当它失去焦点时??
 
你一定干什么了?要不然Query1.active不会改变!
 
我想你一定改动了TQuery.sql属性了!
 
就是因为我没有改变Tquery的属性,我才觉得奇怪的了
我查询完后,就用鼠标激活其他窗口,然后在回到原来的FORM
就发现这样了,Tquery 的active是false了
 
你查一下Form的Event,看那里是不是操作了Query.
 
为每个mdi窗中的query指定一个session试试, 默认是共用一个session, 也许其他
mdi窗口中关了数据库引起这个问题吧?
 
1.我的实验是:没问题
2.同意EYES
 
我也实验了!不会有问题!
 
我也实验了!不会有问题!
 
这么多MDI窗口,不可能都为其指定一个session了
我换个方法解决了,就是每次回到这个MDI FORM时
都判断一下,如果是 active =false and query.sql.text=''
就做query.active=true这个操作
因为上次的数据已经查询出来了放在BDE的CACHE,
这次的激活操作就没有实际上去查表,所以速度很快
大家认为如何?
 
你是否使用了线程, 进行后台查询.
如果这样, 你就要每个Query分配一个session
 
你这个Form是否是子窗口? 是否用同一个子窗口Query了不同的东西?
 
我觉得在编程的逻辑控制上, 一定有什么错误.
而在问题的解决上又有些莫名其妙. 每人分一些分吧!
 
后退
顶部