如何使用TQurey调用存储过程并返回结果集?(100分)

  • 主题发起人 主题发起人 coffeeffee
  • 开始时间 开始时间
C

coffeeffee

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的方法行吗?(Delphi4+oracle8)
存储过程
procedure testa(
tel in varchar, //输入参数
o_result out varchar2 //输出参数)
as
begin
o_result:='0';
exception
when others then
o_result:='9';
end testa;

调用的代码为:
up_str:='select * from testa(:tel)';
with query3 do
begin
close;
sql.Text:=up_str;
Params.AddParam(Params.CreateParam(ftString,'tel',ptInput));
ParamByname('tel').AsString:='111';
open;
end;
<<Delphi5开发人员指南>> 1042页说可以如此调用,可我试来试去都不行!(Delphi4+oracle8)

 

up_str:='begin testa(:tel,:o_result); end;';
with query3 do
begin
close;
sql.Text:=up_str;
Params.AddParam(Params.CreateParam(ftString,'tel',ptInput));
Params.AddParam(Params.CreateParam(ftString,'',ptOutput));
ParamByname('tel').AsString:='111';
open;
end;
 
with query1 do
begin
sql.clear;
sql.add(exec testa :tel,:o_result output);
ParamByname('tel').asstring:='111';
ParamByname('o_result').asstring:='';
execsql;
end
如果是SQLSERVER的话ORACLE没用过
 
多人接受答案了。
 
后退
顶部