PowerBuilder中retrieve的问题

为什么在代码中已经为retrieve的参数赋值了,而且在查错时我发现retrieve命令已经成功执行了,但是运行时还是会弹出窗口提示我输入retrieve的参数值呢?..... 为什么在代码中已经为retrieve的参数赋值了,而且在查错时我发现retrieve命令已经成功执行了,但是运行时还是会弹出窗口提示我输入retrieve的参数值呢? ... 郁闷

代码如下:
long ll_autoid
if row > 0 then
ll_autoid = dw_1.object.autoid[row]
dw_2.retrieve(ll_autoid)
end if
展开
 我来答
ITSkillShare
2009-08-21 · TA获得超过223个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:136万
展开全部
因为retrieve默认没有参数。你上面写的代码中加了一个参数,那么就要做相应的设置,方法如下:
1:在左边workspace树型区中,双击你的dw_2窗口,从而打开你的dw_2,然后在菜单栏中选择design-->data source,从而打开data source窗口
2:再次选择菜单栏中的design-->retrieval arguments.此时会弹出一个对话框,在其中加入你的参数和类型( name栏可以任意填写一个名字,我暂且假定你写的是autoid,一会要用到。type栏一定要和你的ll_autoid类型匹配。这和我们在其他语言中调用子程序的规则一样),然后ok.
3:往data source窗口下方看,有个where标签栏,选中它,然后在column 中选择你要retrieve的列名,operator中选择操作符,value中填入:autoid(注意冒号要加在autoid前面),然后关闭data source窗口,会弹出对话框,选择“是”就行了。这一步其实这就是sql中的select语句的的另一种表现形式,如果你对sql语句比较熟悉,这一步很容易理解。

感觉说了好多,不知道你明白了没有,呵呵。如果设置正确,应该不会弹出你说的那个窗口了。
百度网友09e5e5e7f42
2019-06-20 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:31%
帮助的人:875万
展开全部
一直提取的缓冲机制,我们都知道retrieve()是执行一个数据窗口的sql语句,然后将从数据库的查询结果放置在数据窗口中(具体的就是几个缓冲区,不多描述),如果数据量特别居大,开辟的缓冲区要很大,内存占用比较厉害,想起以前用那种老旧的电脑,经常引起非法操作导致pb死掉,然后就有了这个retrieve
as
needed和to
disk的设置,前置是只提取部分数据处理,后再是提取数据放置硬盘上,这样就不会受到大数据量的影响了,而且再下拉滚动条的时候,会陆续将更多的数据显示出来,大概就是如此了……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jenkit
2009-08-21 · TA获得超过1006个赞
知道小有建树答主
回答量:548
采纳率:0%
帮助的人:540万
展开全部
dw_2的参数不只一个,好好检查
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式