用StoredProc执行存储过程,然后你就可以使用返回的结果集了。

解决方案 »

  1.   

    我使用了StoredProc来执行我的存储过程后,先选定三storedprocedure的名字,然后可以自动的获得参数名字,这时设active:=true;可以显示出数据。但是如果,我再打开参数,观看里面的内容后,再次设置作如下设置:
      1.active:=false;
      2.active:=true;
    系统报告:Ora 01036,非法的变量名/参数那位老兄知道???
      

  2.   

    SQL> select * from aa;        ID NAME 
    ---------- -------- 
            1 猪八戒 
            2 孙悟空 
    CREATE OR REPLACE PACKAGE pkg_test 
    AS 
    TYPE myrctype IS REF CURSOR; 
    END pkg_test; 
    / create or replace PROCEDURE get(p_rc OUT pkg_test.myrctype) 
      IS 
         sqlstr   VARCHAR2 (50); 
      BEGIN 
         sqlstr:='select * from aa'; 
         OPEN p_rc FOR sqlstr; 
    END get; 
    / 在窗体上放一个ADOStoredproc 
    设置 procedurename=get 
        prepared = true 
        active = true 
    还有 connectstring 
    代码如下,好运! procedure TForm1.Button1Click(Sender: TObject); 
    begin 
    adostoredproc1.close; 
    adostoredproc1.open; 
    label1.caption:= ADOStoredProc1.fields[1].asstring; 
    while not adostoredproc1.eof do 
       begin 
         label2.caption:= ADOStoredProc1.fields[1].asstring; 
         adostoredproc1.Next; 
       end; 
    end; 
      

  3.   

    beckhambobo(beckham) :使用过ASTA吗?在ASTA中如何调用呢?
      

  4.   

    用于三层数据库开发的控件.解释如下:
      随着Internet/intranet的发展,多层应用和分布式瘦客户数据库应用程序逐渐得到广泛应用。在多层应用的开发方式中,Delphi提供了Midas构件,第三方提供了Asta 、Midware等。经过使用,相比较而言,Asta所提供的构件易学易用方便灵巧,客户端程序无须任何数据库引擎或动态连结库即可方便的实现多层应用,且客户、服务器可实现实时信息传输。可以说,Asta为普通程序员提供了无须专门培训即可成为复杂多层应用程序开发高手的简单途径。   1. 认识Asta   象普通的Delphi构件一样,在Delphi环境下安装Asta即可看到该页标上有AstaClientSocket 、AstaClienDataset 、AstaServerSocket 、AstaDataSet 等构件,其中关键是AstaClientSocket 、AstaClienDataset 、AstaServerSocket。其中,AstaClient由一个AstaClientSocket 和至少一个AstaClienDataset 组成。AstaServer的核心是AstaServerSocket。Database可以是现在流行的任何数据库产品,如Sybase 、Informix 、MS-SQLserver等。   2. 如何实现多层应用   Asta本身带有两个例子服务器程序,一个是BDEserver,另一个是ODBCserver。这两个服务器程序设计的很完善,稍加改造(汉化)即可直接使用。我们使用BDE服务器。 本例以Paradox本地数据库为例,说明如何开发客户端软件。   2.1 运行BDE服务器程序,出现数据连结窗口,弹开组合框选择别名BDEDEMOS,确定。   2.2 进入Delphi环境,建立新应用netapp.dpr,窗体上分别放置AstaClientSocket1、AstaClienDataset1。AstaClientSocket1的Adress属性填入服务器程序所在机器的IP地址。若服务器程序在同一台机器上,则IP地址默认为127.0.0.1。Port属性与服务器程序端口一致(若服务器程序未作改动此值为9000,当然也可选用其他数值)。AstaClienDataset1的属性与一般数据表Ttable相同,首先选择DataBasename属性,然后选取tablename。最后把Active 设为true(相当于执行了SQL语句:Select * from [tablename])。本例中tablename选取employee.db。   3. 把结果表现出来   同一般数据库应用程序一样,在窗体上放入Datasource1,其Dataset属性设为AstaClientSocket1,放入DBGrid,其Datasource设为 Datasource1,则简单客户程序就完成了。   运行此程序即可看到数据表格。此客户端程序无须任何动态库即可在客户端运行,是完全的瘦客户。需要注意的是,AstaClientSocket的ConnectAction属性有多种选择,分别规定了客户端到服务器端的连结状况,大家可分别试试看有何结果。至于安全性设置、实时信息传递,可参阅随机帮助文件。 
      

  5.   

    在Delphi中操作Oracle数据库建议用doa,功能是最强大的,比如因为像ADO之类的数据访问组件不能直接调用包,给开发中造成很多的不便,来我的网站下载
    http://wwdn.kmip.net
    msn:[email protected]
      

  6.   

    有没有人知道如何在ASTA中进行调用呢??