PB总结——游标,Datastore和存储过程的调用

使用游标
string     cur_name                        
declare cur_name cursor for            
select from where ;
       
open     cur_name ;  
do while sqlca.sqlcode=0
       fetch     cur_name into :str_name,:str_mima;
loop                    
  
close cur_name;

与其相似的是DataStore的用法:
stirng ls_no,ls_name
int li_temp
//声明
datastore ldt_object
//创建
ldt_object=create datastore
ldt_object.dataobject="d_xqsz" //"d_xqsz"是事先创建好的数据窗口对象
//检索数据
ldt_object.settransobject(sqlca)
ldt_object.retrieve()
//内容使用
if ldt_object.rowcount()>0 then
    for li_temp=1 to ldt_object.rowcount()
        //ls_no=ldt_object.object.[li_temp]
        //ls_name=ldt_object.object.[li_temp]
        //this.additem(ls_name + "[" + ls_no+ "]")
    next
    //this.selectitem(1)
end if
下拉列表框的内容从数据库提取,在下拉列表框的Constructor()中添加上述代码,完成下拉列表框构造。

调用存储过程
// 一.声明
DECLARE procename PROCEDURE FOR procedurename //procedurename是在SQL中已经建立的存储过程
@qno = 10,
@qname = :_name output,          // 在PB中声明的一定要与在SQL Sever中声明的变量名一样
@qsalary = :_salary output ;       // 是引用SQL中的变量名而不是重新定义一个变量
//二.打开  
execute procename ;                        // 相当于游标的Open()
If sqlca.sqlcode = -1 Then
   MessageBox ("SQL 语句执行失败"," sqlca.sqlerrtext)
return          // 跳出                     
End If
//三.取值
fetch procename into :_name,:_salary;  
         
do while sqlca.sqlcode=0
       fetch     cur_name into :str_name,:str_mima;
loop

// 四.关闭  
close procename;  
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值