我是PowerBuilder 10.5的新手,所以我有一个问题...我创建了一个图形DataWindow。这是一个常见的图形模型,带有一个简单的SQL代码。
SELECT data1, data2 FROM table1, table2;现在我需要进入我的"START“命令按钮点击事件,并编写这样一条语句,它将在一个简单的条件下调用我的DataWindow:
WHERE key1=key2.有什么建议吗?我试着用"SETsql“语句?
发布于 2013-06-10 14:42:13
如果上面的代码是真的,那么问题是您用where条件覆盖了ls_sql变量。ls_sql应该包含整个sql语句,包括select * from xytable where key =1,所以您应该附加where条件(但我认为您应该检索参数,这更容易)
发布于 2013-06-10 14:31:06
有一种比使用SetSQL()语句更简单的方法,因为SetSQL必须与DW中定义的列匹配(您可以动态创建它们,但由于您是PB的新手,我将跳过这种可能性):
SELECT (menu Design / Data source,然后在您的cb_start.clicked()中调用your_dw.retrieve()data source view中时,在DW的Retrieval arguments中定义它:选择一个数据类型和一个名称(例如thing),在DW SELECT语法中,您可以说WHERE key1=:thing (注意冒号),并在clicked()事件中的pbscript代码中,在retrieve arguments your_dw.retrieve("42")中添加参数的值。显然,您可以将文本替换为以前可以在代码中定义和填充的正确类型的变量。如果未通过retrieve()语句提供检索参数的值,则DW将在检索开始时在对话框中询问该值(或这些值)。https://stackoverflow.com/questions/17012296
复制相似问题