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 に答える