Package 之Delphi调用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值