如题:
PB的datawindow 中的sqlpreview事件中syntax显示不出变量的值?
显示出的效果如下:
---------------------------
---------------------------
select id,name from table_orcl where name=:name order by name
---------------------------
确定
---------------------------
其中:name 的值,在retrieve函数中有传入进去。 dw也能正常显示出查询效果,但:name的值在syntax中显示不出来。
ps:有的窗口是可以的,这个就不行,郁闷!
更多 0
------解决思路----------------------
参考(F1帮助)SQLPreview event(DataWindows)中的关于绑定变量的描述。
把事务连接(一般是全局变量SQLCA)的属性DBPARM,设置为SQLCA.DBPARM = "DISABLEBIND=1"
------解决思路----------------------
POWERBUILDER开发时设置连接事务参数disablebind=0激活绑定变量
SQLCA.DBPARM = "DISABLEBIND=1"
INSERT INTO DA_DH VALUES("1","河南0")
INSERT INTO DA_DH VALUES("2","河南1")
INSERT INTO DA_DH VALUES("3","河南2")
INSERT INTO DA_DH VALUES("4","河南3")
INSERT INTO DA_DH VALUES("5","河南4")
INSERT INTO DA_DH VALUES("6","河南5")
这里未使用捆绑变量,再插入时 PB 将重新处理每个带有新值的SQL语句。
如果将上例改为:
SQLCA.DBPARM = "DISABLEBIND=0"
INSERT INTO DA_DH VALUES("1","河南0")
INSERT INTO DA_DH VALUES("2","河南1")
INSERT INTO DA_DH VALUES("3","河南2")
INSERT INTO DA_DH VALUES("4","河南3")
INSERT INTO DA_DH VALUES("5","河南4")
INSERT INTO DA_DH VALUES("6","河南5")
则系统将把 INSERT 语句按如下格式进行处理:
INSERT INTO DA_DH VALUES(?,?)
其中 "?" 称为占位符。系统性能将有所增强。
减少数据库对sharepool里的动态SQL进行重复优化。