如何使用ASA数据库在Powerbuilder中声明和使用参数

时间:2011-07-08 12:16:52

标签: powerbuilder sybase-asa powerbuilder-conversion

我有一个名为sp_getnextautono(as_sequenceid Char(20), as_sequenceno double output)

的存储过程

在Powerbuilder中,我编写了如下脚本:

//Declaration
Declare proc_autono Procedure for sp_setnextautono 
@as_sequenceid = :ls_input, 
@as_sequenceno = :ld_sequenceno;

//Execution
Execute proc_autono;

If Sqlca.Sqlcode <> 0 Then
   ls_errormsg = Sqlca.SQLErrText
   Rollback Using Sqlca;
   MessageBox( 'Error', 'Error: ' + Sqlca.SqlErrText , Stopsign! )
   Return FAILURE 
End If

// Fetch
Fetch proc_autono Into :ld_sequenceno;

If Sqlca.Sqlcode <> 0 Then
   ls_errormsg = Sqlca.SQLErrText
   Rollback Using Sqlca;
   MessageBox( 'Error', 'Error: ' + Sqlca.SqlErrText , Stopsign! )
   Return FAILURE 
End If

没有错误但我无法获取sequenceno

变量ld_sequenceno返回0

有人可以建议我如何解决上述问题吗?

1 个答案:

答案 0 :(得分:2)

这是你的代码(几乎没问题):

//Declaration
Declare proc_autono Procedure for sp_setnextautono
    @as_sequenceid = :ls_input,
    @as_sequenceno = :ld_sequenceno;

您只是缺少表示:ld_sequenceno是一个OUTPUT变量。尝试下一步,一切都应该没问题:

//Declaration
Declare proc_autono Procedure for sp_setnextautono
    @as_sequenceid = :ls_input,
    @as_sequenceno = :ld_sequenceno **OUTPUT**;