delphi如何调用带out参数的oracle存储过程?期待高手.... 10
代码如下:建立oracle存储过程:createorreplaceprocedureget_mul(enter_nameinvarchar2,pswoutvarchar2...
代码如下:
建立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参数的输出数据集...
期待高手.... 展开
建立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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询