关于网友提出的“ ADO调用存储过程如何返回数据集”问题疑问,本网通过在网上对“ ADO调用存储过程如何返回数据集”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: ADO调用存储过程如何返回数据集
描述: 此问题总是不能解决,执行时总报ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'TEST'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
调用程序如下:
with DataModuleForm.ADOStoredProc1 do
begin
Close;
Connection:=DataModuleForm.ADOConnection;
Parameters.Clear;
ProcedureName:= 'test1.test';
Parameters.CreateParameter('in1',ftDate,pdInput,8,DateTimePicker1.Date);
Parameters.CreateParameter('in2',ftString,pdInput,8,ComboBox1.Text);
Parameters.CreateParameter('in3',ftString,pdInput,8,Edit1.Text);
Parameters.CreateParameter('in4',ftString,pdInput,8,Edit2.Text);
Parameters.CreateParameter('in5',ftString,pdInput,8,Edit3.Text);
try
ExecProc;
except
showmessage('执行存储过程失败!');
end;
end;
存储过程为
TYPE rc_class IS REF CURSOR RETURN table1%ROWTYPE;
CREATE OR REPLACE PACKAGE BODY test1 AS
PROCEDURE test( --
in1 IN DATE, --
in2 IN VARCHAR2,
in3 IN VARCHAR2,
in4 IN VARCHAR2,
in5 IN VARCHAR2,
ResultCursor out rc_class)
IS
BEGIN
OPEN ResultCursor FOR SELECT * FROM table;
END test;
END test1;
以上介绍了“ ADO调用存储过程如何返回数据集”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3227673.html