我在oracle服务器创建了一个存储过程MY_TEST
CREATE OR REPLACE PACKAGE MY_PACKAGE AS
TYPE My_Cursor IS REF CURSOR;
PROCEDURE MY_TEST (
v_Type in int ,
v_param1 in int ,
v_ResultFlag out int,
Result_Data OUT MY_PACKAGE.My_Cursor);
End MY_PACKAGE;CREATE OR REPLACE PROCEDURE MY_TEST (
v_Type in int ,
v_param1 in int ,
v_ResultFlag out int,
Result_Data OUT My_PACKAGE.My_Cursor)
as
begin
v_ResultFlag := 100 ;
end MY_TEST;然后客户端用ADOStoreProc调用。
ADOStoredProc1.Parameters.ParamByName('v_type').value:=1;
ADOStoredProc1.Parameters.ParamByName('v_param1').value:=1;
ADOStoredProc1.Parameters.ParamByName('v_ResultFlag').value:=1;
ADOStoredProc1.ExecProc;
returnValue:=ADOStoredProc.Parameters.ParamByName('v_ResultFlag').value;如果在存储过程中定义了
Result_Data OUT My_PACKAGE.My_Cursor
则delphi在运行到ExecProc时提示错误:
‘ORA-06550:line1,column 7:
PLS-00306:wrong number or types of argument in call to 'MÝ_TEST'
....如果没 在存储过程中定义
Result_Data OUT My_PACKAGE.My_Cursor
则没问题、怎么解决??????
小弟先谢了!!!!
CREATE OR REPLACE PACKAGE MY_PACKAGE AS
TYPE My_Cursor IS REF CURSOR;
PROCEDURE MY_TEST (
v_Type in int ,
v_param1 in int ,
v_ResultFlag out int,
Result_Data OUT MY_PACKAGE.My_Cursor);
End MY_PACKAGE;CREATE OR REPLACE PROCEDURE MY_TEST (
v_Type in int ,
v_param1 in int ,
v_ResultFlag out int,
Result_Data OUT My_PACKAGE.My_Cursor)
as
begin
v_ResultFlag := 100 ;
end MY_TEST;然后客户端用ADOStoreProc调用。
ADOStoredProc1.Parameters.ParamByName('v_type').value:=1;
ADOStoredProc1.Parameters.ParamByName('v_param1').value:=1;
ADOStoredProc1.Parameters.ParamByName('v_ResultFlag').value:=1;
ADOStoredProc1.ExecProc;
returnValue:=ADOStoredProc.Parameters.ParamByName('v_ResultFlag').value;如果在存储过程中定义了
Result_Data OUT My_PACKAGE.My_Cursor
则delphi在运行到ExecProc时提示错误:
‘ORA-06550:line1,column 7:
PLS-00306:wrong number or types of argument in call to 'MÝ_TEST'
....如果没 在存储过程中定义
Result_Data OUT My_PACKAGE.My_Cursor
则没问题、怎么解决??????
小弟先谢了!!!!
解决方案 »
- 如何隐藏 写的控制台?
- delphi 中数组参数 PSafeArray 是怎么用的呢???谢谢!!
- activeX form的问题
- VB的代码谁会写成DELPHI的DLL(源代码)
- 如何把FastReport报表中的数据(memo)赋值给程序变量?
- 字符型--->浮点型
- 谁知道SQL连接占线是什么错误提示!
- showmodal和 form title隐藏问题?
- 我在我的INTERBASE数据库中的存储过程中使用了异常处理,即调用了我定义的异常,当发生异常时我想在程序中提示用户发生了什么, DELPHI程序中怎么实现?
- 谁看过<<Delphi 技术手册>>这本书,你们觉得这本书怎样,值得买吗?
- 去掉字符串两头空格的函数是什么
- 小问题,请高手相助!!!
且此”Cursor”返回有何用?俺没用過。君調整一下ParamType定義試試...
例如服务器端可以
open Result_Data for
select A from table1 where B=v_param1;
这样客户端可以直接如下操作,
ADOStoredProc1.Open;
while not ADOStoredProc1.Eof do
begin
combobox1.Items.Add(ADOStoredProc1.Fields[0].AsString);
ADOStoredProc1.Next;
end;
但是返回到Delphi、能象SQL文一様使用?
調査中...