0

我有一个名为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

谁能告诉我如何解决上述问题?

4

1 回答 1

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**;
于 2011-12-02T16:47:12.497 回答