DELPHI 调用 Oracle 存储过程并返回数据集的例子.

王朝mssql·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

DELPHI 调用 Oracle 存储过程并返回数据集的例子.

DELPHI 调用 Oracle 存储过程并返回数据集的例子. 环境: Win2000 + Oracle92

一、先在 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;

二、用 Delphi 调用

建一个窗体,拖动控件 AdoConnection1 , ADOStoredProc1 和 Button1.

procedure TForm1.Button1Click(Sender: TObject);

begin

try

with ADOConnection1 do

begin

ConnectionString:=

'Provider=OraOLEDB.Oracle.1;'

+ 'Password=密码;'

+ 'Persist Security Info=True;'

+ 'User ID=用户名;'

+ 'Data Source=数据库名;'

+ 'Extended Properties="PLSQLRSet=1;"';

Open;

end;

except

showMessage('连接不成功');

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('无法执行过程.');

end;

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航