首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerBuilder图DataWindow

PowerBuilder图DataWindow
EN

Stack Overflow用户
提问于 2013-06-10 01:30:51
回答 2查看 1.2K关注 0票数 0

我是PowerBuilder 10.5的新手,所以我有一个问题...我创建了一个图形DataWindow。这是一个常见的图形模型,带有一个简单的SQL代码。

代码语言:javascript
复制
SELECT data1, data2 FROM table1, table2;

现在我需要进入我的"START“命令按钮点击事件,并编写这样一条语句,它将在一个简单的条件下调用我的DataWindow:

代码语言:javascript
复制
WHERE key1=key2.

有什么建议吗?我试着用"SETsql“语句?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-10 14:42:13

如果上面的代码是真的,那么问题是您用where条件覆盖了ls_sql变量。ls_sql应该包含整个sql语句,包括select * from xytable where key =1,所以您应该附加where条件(但我认为您应该检索参数,这更容易)

票数 1
EN

Stack Overflow用户

发布于 2013-06-10 14:31:06

有一种比使用SetSQL()语句更简单的方法,因为SetSQL必须与DW中定义的列匹配(您可以动态创建它们,但由于您是PB的新手,我将跳过这种可能性):

  • 如果您的SQL语句总是相同的,并且不需要由代码或用户提供的键,那么您可以简单地在DW painter中直接定义SELECT (menu Design / Data source,然后在您的cb_start.clicked()中调用your_dw.retrieve()
  • if,您需要一个可能不同的键,在data source view中时,在DW的Retrieval arguments中定义它:选择一个数据类型和一个名称(例如thing),在DW SELECT语法中,您可以说WHERE key1=:thing (注意冒号),并在clicked()事件中的pbscript代码中,在retrieve arguments your_dw.retrieve("42")中添加参数的值。显然,您可以将文本替换为以前可以在代码中定义和填充的正确类型的变量。如果未通过retrieve()语句提供检索参数的值,则DW将在检索开始时在对话框中询问该值(或这些值)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17012296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档