我想你是想用oracle的过程返回一个记录集吧? 给你个例子参考一下:--包头
create or replace package pkg_test
as
type myCursor is ref cursor;
function get(p_id number) return myCursor;
end pkg_test;
--包体
create or replace package body pkg_test
as
--******************************************************************
--输入ID 返回记录集的函数
function get(p_id number) return myCursor is
rc myCursor;
strsql varchar2(200);
begin
if p_id=0 then
open rc for select a.user_name from fnd_user a ;
else
strsql:='select a.user_name from fnd_user a where a.user_id=:p_id';
open rc for strsql using p_id;
end if;
return rc;
end get;
end pkg_test;
create or replace package pkg_test
as
type myCursor is ref cursor;
function get(p_id number) return myCursor;
end pkg_test;
--包体
create or replace package body pkg_test
as
--******************************************************************
--输入ID 返回记录集的函数
function get(p_id number) return myCursor is
rc myCursor;
strsql varchar2(200);
begin
if p_id=0 then
open rc for select a.user_name from fnd_user a ;
else
strsql:='select a.user_name from fnd_user a where a.user_id=:p_id';
open rc for strsql using p_id;
end if;
return rc;
end get;
end pkg_test;
现在有遇到个问题,就是返回记录集的过程(过程名为:p_get)创建好了,但是在.NET中新建数据集文件后,把过程p_get拖放到数据集中,出现错误:“无法从 此对象解释XML架构”.请高手指点一下,到底应该怎么用返回的记录集呢?
初学报表和Oracle,还请大家多多指教!
能不能给段实例代码?刚接触.net,对你所说的还都不熟悉,谢谢!
CREATE OR REPLACE PACKAGE pkg_oldrailin
AS
TYPE myrctype IS REF CURSOR;
END pkg_oldrailin;
CREATE OR REPLACE PROCEDURE get_oldrailin
(p_year IN VARCHAR2, p_rc OUT pkg_oldrailin.myrctype)
AS
......--下面的省略 !上面的过程get_oldrailin中的OUT参数p_rc是REF CURSOR,而C#.net中需要的是数据集,到底在C#.net中怎么写代码呢?