关于动态修改PB中数据窗口DW的SQL语句及参数的注意事项,只能在程序运行过程中构造SQL语句,需要使用动态SQL语句。 以语句为例,使用格式如下: {ct}} 使用动态SQL语句时,需要准备(全局对象SQLSA)和ea对象(全局对象SQLDA)。
定义一个游标或过程,读取语句中的SQL语句以及语句中描述的参数和类型,执行FETCH语句后,调用相关函数将检索结果一一读取并处理。 虽然动态SQL语句可以用来在程序运行过程中构造SQL语句,但在实际应用中很少使用。 如果语句的结果顺序是固定的,则可以通过再次指定对象的语句来实现动态修改SQL语句的功能。 使用时,首先使用函数读取对象的语句,并使用函数修改符合要求的语句,并可以增加检索条件,然后使用数字为控件指定修改的语句。 程序代码: ,=//语句中要替换的字符串 //替换字符串可以是结构相同的表名 dw_1.(sqlca)=dw_1.(".Table.")tr.(,,)海峡 .(,,Len(),)r.(,,+Len())=+"where//添加where子句//判断函数调用是否成功,如果不成功则("error", "无法修改SQL语句!",!).(sqlca)dw_1.()有一定的要求和限制,改变的语句在结构上必须与原语句不匹配,并且之前必须使用ct函数设置控件的内部事务对象另外,对象的数据源必须是不带参数的语句,如果需要使用检索参数,可以在程序代码中修改该语句。