我做了一个通用查询,不同的查询均调用这个查询.
具体做法是:
数据集ADOQuery放在DataModule中, 通用查询窗体的dbgrid通过DataSource连接到这个Query. 其它有查询要求的窗体只需要把这个Query作open, 然后将通用窗体显示出来,用户只需要在这个dbgrid中选择一条记录.
出现的问题:
第一次调用这个通用查询dbgrid显示的数据正常,但以后的调用显示都是第一次的查询结果.(我跟踪过程序,Query肯定是close并且又open过)
具体做法是:
数据集ADOQuery放在DataModule中, 通用查询窗体的dbgrid通过DataSource连接到这个Query. 其它有查询要求的窗体只需要把这个Query作open, 然后将通用窗体显示出来,用户只需要在这个dbgrid中选择一条记录.
出现的问题:
第一次调用这个通用查询dbgrid显示的数据正常,但以后的调用显示都是第一次的查询结果.(我跟踪过程序,Query肯定是close并且又open过)
先Query.close 再Query.open
Query.close
Query.sql.clear
Query.sql.add('')
Query.open
2、每次查询的时候要close并且赋新的sql语句才open