Package 之Delphi调用

来源:互联网 发布:mac识别不了移动硬盘 编辑:程序博客网 时间:2024/05/04 11:22

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

原创粉丝点击