delphi如何调用带out参数的oracle存储过程?期待高手....

来源:百度知道 编辑:UC知道 时间:2024/05/30 02:46:44
代码如下:
建立oracle存储过程:
create or replace procedure get_mul
(enter_name in varchar2,psw out varchar2, lim out number)
is
begin
select user_psw,user_limit into psw,lim
from lzj.n82_user
where user_name=enter_name;
end get_mul;

调用如下:
p1:string;
p2:number;
with ADOQuery2 do
begin
close;
SQL.Clear;
parameters.Clear;
SQL.Add('select get_mul(:enter_name,psw,lim) from lzj.n82_user');
Parameters.ParamByName('enter_name').Value:=username.Text;
open;
p1:=Parameters.ParamByName('psw').Value;
p2:=Parameters.ParamByName('lim').Value;
end;
end;
//总是报错,oracle 过程已经在在命令窗口验证过,没有错误,能得到两个out参数的输出数据集...
期待高手....

p1:string;
p2:number;
with ADOQuery2 do
begin
close;
SQL.Clear;
parameters.Clear;
SQL.Add('select get_mul(:enter_name,:psw,:lim) from lzj.n82_user');
Parameters.ParamByName('enter_name').Value:=username.Text;
Parameters.ParamByName('psw').Value:=P1;
Parameters.ParamByName('lim').Value:=P2;
open;
p1:=Parameters.ParamByName('psw').Value;
p2:=Parameters.ParamByName('lim').Value;
end;
end;

按照以上代码试一试吧,现在没有环境试不了。
如果还不行就换控件吧,用ADOProcedure

很想知道。。预留