Environment: Win2000 Oracle92
First, first build a package in Oracle
Create Or Replace Package PKG_Test
AS
Type myrctype
IS ref cursor;
Procedure Get (i_test)
Integer, p_rc
Out myrctype);
END PKG_TEST;
Create Or Replace Package Body PKG_Test
AS
Procedure Get (i_test)
Integer, p_rc
OUT MyRCTYPE)
IS
Begin
IF i_test = 0
THEN
Open p_rc
For Select sysdate
From Dual;
Else
Open p_rc
For select *
From tab;
END IF;
End Get;
END PKG_TEST;
Second, use
Delphi call
Build a form, drag the control Adoconnection1, AdoStoredProc1, and Button1.
Procedure TFORM1.BUTTON1CLICK (Sender: TOBJECT);
Begin Try with adoconnection1
DO
Begin
CONNECTIONSTRING: =
'Provider = oraoledb.oracle.1;'
'Password = password;'
'Persist security info = true;'
'User ID = User Name;'
'Data Source = Database name;'
'Extended Properties = "PLSQLRSET = 1;"
Open;
END;
Except
ShowMessage ('connection is not successful ";
EXIT;
END;
Try with adoStoredProc1
DO
Begin connection: = adoconnection1;
Parameters.clear;
Procedurename: = 'pkg_test.get';
Parameters.createParameter ('p1', ftinteger, pdinput, 10, 1);
Open;
END;
Except ShowMessage ('Unforgettable Procedure.');
END;
END;