如何从服务器上利用存储过程返回数据集

这是以前我在大富翁回答别人的:
例如查询scott下面的emp
1.建包,定义游标类型和过程
create   or   replace   Package   pkg_demo
AS
      TYPE   EmpCurTyp   IS   REF   CURSOR   RETURN   emp%ROWTYPE;
      procedure   open_emp_cv(emp_cv   OUT   EmpCurTyp);
END   pkg_demo;
2。定义包体
create   or   replace   package   body   pkg_demo  
AS
procedure   open_emp_cv   (emp_cv   OUT   EmpCurTyp)  
IS
BEGIN
      OPEN   emp_cv   FOR   SELECT   *   FROM   emp;
END   open_emp_cv;
end   pkg_demo;
3。建立ado连接,注意用oracle的provider,连接字符串里包含“PLSQLRSet=1”
ADOConnection1.ConnectionString:= 'PLSQLRSet=1;Provider=OraOLEDB.Oracle;Password=tiger;Persist   Security   Info=True;User   ID=scott;Data   Source=fjddmis;Extended   Properties= " " ';
ADOConnection1.Open;
4。用TADODataset调用存储过程,注意调用格式
ADODataSet1.Connection:=ADOConnection1;
ADODataSet1.CommandText:= '{call   pkg_demo.open_emp_cv} ';
ADODataSet1.CommandType:=cmdText;
ADODataSet1.Open;  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值