本例在vs2005+oracle 92010 + windowsxp sp2测试通过
1、创建一个游标变量,为返回值使用
create or replace package types as
type cursortype is ref cursor;
end;
2、创建函数(或者存储过程)
create or replace function testpro return types.cursortype is
lc types.cursortype;
begin
open lc for select * from test;
return lc;
end testpro;
3、编写c#程序(注意:要先应用system.data.oracleclient)
oracleconnection conn = new oracleconnection("yourconnectstring");
oraclecommand cmd = new oraclecommand("testpro", conn);
cmd.commandtype = commandtype.storedprocedure;
oracleparameter op = new oracleparameter("c", oracletype.cursor);
op.direction = parameterdirection.returnvalue;
cmd.parameters.add(op);
dataset ds = new dataset();
oracledataadapter da = new oracledataadapter(cmd);
da.fill(ds,"test");
this.datagridview1.datasource = ds.tables["test"];
ps:使用储过程方法类似。
国内最大的酷站演示中心!