DELPHI调用有返回记录集的存储过程,解决立刻结贴!(50分)

  • 主题发起人 主题发起人 wzqin
  • 开始时间 开始时间
W

wzqin

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI调用有返回记录集的存储过程,有一个输入参数,为什么总提示Parameter 'E_ACCOUNTNO' not found?

包:
create or replace package pkg_test
AS
TYPE myrctype IS REF CURSOR;
END pkg_test;

过程:
create or replace procedure qry
(
E_ACCOUNTNO in number, --输入参数
p_rc out pkg_test.myrctype
)
as
l_phonenum varchar2(12);
begin
select phonenum into l_phonenum from aa where accountno=e_accountno;
open p_rc for select * from aa where phonenum=l_phonenum;
end;

调用的程序
adostoredproc1.close;
adostoredproc1.Parameters.ParamValues['E_ACCOUNTNO']:=2500278080;
adostoredproc1.Prepared:=true;
adostoredproc1.Open;
 
adostoredproc1.close;
adostoredproc1.Parameters.clear;
adostoredproc1.Parameters.CreateParameter('@E_ACCOUNTNO',ftInteger,pdInput,10,nil);
adostoredproc1.Parameters.ParamByName('@E_ACCOUNTNO').value:=2500278080;
adostoredproc1.Prepared:=true;
adostoredproc1.Open;
 
to:dez_0609
不行啊,编译通不过
 
有没有哪位高手知道,如果不用adostoredproc,改用dataset应该怎么做,我对dataset不熟悉,请帮帮忙,谢了
 
你用的是什么数据库?
var
a:string;//若phonenum为字符型
..
ADODataSet1.Close;
ADODataSet1.CommandText:='select phonenum from aa where accountno='+IntToStr(e_accountno);
ADODataSet1.Open;
a:=ADODataSet1.FieldByName('phonenum').AsString;
ADODataSet1.Close;
ADODataSet1.CommandText:='select * from aa where phonenum='''+a+'''';
ADODataSet1.Open;
 
后退
顶部