delphi如何调用oracle存储过程(100分)

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

chenglc

Unregistered / Unconfirmed
GUEST, unregistred user!
存储过程:
CREATE OR REPLACE PROCEDURE DF_KBSJCX
(
AVR_KHBH IN VARCHAR2, --客户编号
AVR_HM OUT VARCHAR2,
AVR_YDDZ OUT VARCHAR2,
AVR_CBC OUT VARCHAR2,
AVR_ZTXX OUT VARCHAR2 ---失败原因消息
) IS
-----------------------------------------------------------------
--说明:卡式表预售电系统数据查询,卡表系统调用,输入客户编号,
-- 返回用户基本信息(户名、用电地址、抄表册、局编号)
--作者:盛海明
--参数说明:见参数列
------------------------------------------------------------------
BEGIN
SELECT HM INTO AVR_HM FROM Y_KHXX WHERE KHBH=AVR_KHBH;
SELECT YDDZ INTO AVR_YDDZ FROM Y_KHXX WHERE KHBH=AVR_KHBH;
SELECT CBC INTO AVR_CBC FROM Y_KHXX WHERE KHBH=AVR_KHBH;
return;
END DF_KBSJCX;
如何用delphi 的adostoredproc控件来调用?
以前从没接触过,希望高手帮忙解决。
 
begin PRO_NAME; end; 只用用ado的execusql执行
 
请你说明白一点行吗?我从没接触过。
 
和一般SQL 一样执行
sql.text:='exec 存储过程名 存储过程参数 '
 
感谢两位指点!
但小弟还是不太明白?有没有详细一点的例程能提供给小弟吗?
 
ADOStoredProc1.ProcedureName:='存储过程名';
ADOStoredProc1.Active:=false;
ADOStoredProc1.Parameters.ParamByName('参数名').Value:=赋参数;
ADOStoredProc1.ExecProc;
 
fancypansy的调用方式可行,但是你要分清传入,传出参数问题
 
ADOStoredProc.close;
ADOStoredProc.Parameters.Clear;
ADOStoredProc.ProcedureName:=ProcName;
ADOStoredProc.Parameters.ParamValues[传入参数1] :='';
...
ADOStoredProc.Parameters.ParamValues[传入参数n] :='';
ADOStoredProc.Prepared:=True;ADOStoredProc.ExecProc ;//执行存储过程
String:=ADOStoredProc.Parameters.ParamValues[返回参数];
 
后退
顶部