下载: 本文源代码 (size: 23KB) pb 7.0版本 (可直接升级到8.0使用)

使用此功能调用方法:
gf_set_query(datawindow add_dw)
ad_dw : 被查询数据窗
query.pbl : 可带参数查询,必须在被查询数据窗上定义一个事件 ue_retrieve,
来执行 retrieve 函数(带参数或不带参数)
本功能使用sqlca事务对象两次
规则 : 被查询列必须是可视的,并且该数据窗必须有一个以 '列名_t' 命名的text控件
对象 :
dw_jzh_query : 查询数据窗
gf_add_where : 为数据窗添加 where 语句
gf_set_query : 查询函数
w_jzh_query : 查询窗口
全部功能仅由4个objects完成,代码精简,功能强大,调用简单,具有通用性pbl中有应用,pb8选择应用后可以自动升级
这次的整理又有了很大进步
1、gf_add_where函数功能更强大:统一使用describe和modify来取得和修改数据窗的sql语句
2、设置事务对象的技巧:对原数据窗没有设置事务对象的情况做了处理
3、知识点:加了dynamic call的返回值判断,如果原数据窗没有ue_retrieve事件,会给出提示,大大增将了通用性
4、代码优化:在查询数据窗的初始化事件中,把insertrow写到setredraw(false)前,回避了字段较多时数据窗重绘的短暂等待现象
5、针对多表时列名较长的情况,把查询内容字段改为char(100)。