使用存储过程返回结果集,并绑定到ado.net对象中在sql server里面是非常直观的。
procedure GetAllRecords
as
from dept;
存储过程返回一个结果集,然后通过SqlDataAdapter绑定给DataSet。
但是在Oracle里面返回结果集存储过程是不可以这样写的,返回的结果集要通过游标来完成的。
首先创建一个包,新建一个应用游标类型
is
cursor;
end cust_types;
然后再使用该类型声明一个返回参数
is
begin
from dept;
end GetDept;
在.net中调用是要这样写:
].ConnectionString;
2:
new OracleConnection())
4: {
5: conn.ConnectionString = connStr;
6: conn.Open();
7: var cmd = conn.CreateCommand();
;
9: cmd.CommandType = CommandType.StoredProcedure;
, OracleDbType.RefCursor){Direction = ParameterDirection.Output});
new OracleDataAdapter(cmd);
new DataSet();
13: adapter.Fill(ds);
14: }
15:
16:
这样才能使用存储过程返回结果集。