Как объявить и использовать параметр в Powerbuilder с базой данных ASA
У меня есть хранимая процедура с именем 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 ответ
Это ваш код (который почти подходит):
//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**;