PowerBuilder(PB) 游标的两种使用方法
示例一string ls_sub_storage
declare cur_sub_storage cursor for
select sub_storage from drug_sub_storage_dict WHERE sub_storage like '%药房%';
open cur_sub_storage;
fetch cur_sub_storage into :ls_sub_storage;
do while sqlca.sqlcode=0
ddlb_1.AddItem (ls_sub_storage)
fetch cur_sub_storage into :ls_sub_storage;
loop
close cur_sub_storage;
//示例二
string temp
declare mycur cursor for//定义游标mycur
select dept_name
from dept_dict;
open mycur;
do while true
fetch mycur into :temp;
if sqlca.sqlcode<>0 then exit
ddplb_1.additem(temp)
loop
close mycur;
未测试,来自:https://www.cnblogs.com/yh-xiaoxiami/p/15496058.html
(1)、用 for 循环实现游标
long ll_count = 10
//定义游标
string test
//声明游标
declare test cursor for
// SQL 语句
select 字段名 from表名 where 表达式 using sqlca;
//打开游标
open test;
for i=1 to ll_count
//获取数据
fetch test into :变量名;
//在这里写你的业务
next
//关闭游标
close test;
(2)、用 do while 循环实现游标
//定义游标
string test
//声明游标
declare test cursor for
// SQL语句
select 字段名 from 表名 where 条件 using sqlca;
//打开游标
open test;
//获取数据
fetch test into:字段名变量;
do while sqlca.sqlcode = 0
//在这里写你的业务
//再次获取数据
fetch test into:字段名变量;
loop
//关闭游标
close test;
FROM:https://www.yuque.com/zisay/powerbuilder/window#4f584ed2 Thank you. 其实我不建议使用游标,因为游标有个明显问题,就是数据循环读取处理中有客户端代码,不如直接DS得到数据后再写入更快
页:
[1]