当前位置: 代码迷 >> PB >> 疑义PB的datawindow 中的sqlpreview事件中syntax显示不出变量的值
  详细解决方案

疑义PB的datawindow 中的sqlpreview事件中syntax显示不出变量的值

热度:532   发布时间:2016-04-29 05:11:53.0
疑问PB的datawindow 中的sqlpreview事件中syntax显示不出变量的值?
如题:
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进行重复优化。
  相关解决方案