在SQL sever的存储过程中我们可以直接写
CREATE REPLACE printEmp
AS
select * from emp /*当然SQL sever中的emp表是用户自己建的 */ 然后在system.data.sqlclient下通过ado.net的内置对象(SqlDataAdapter)来调用它,指定其
SelectCommand.CommandType = CommandType.StoredProcedur最后用它来填充dataset的对象ds,
通过这样来查的emp中的所有记录,并将ds绑定到数据控件,即可在前台显示这些信息。 在oracle中可以直接用sql语句来打印这些信息 OracleConnection con = new OracleConnection(cl.conString);
OracleDataAdapter oda = new OracleDataAdapter("select * from emp", con);
//oda.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
oda.Fill(ds); con.Dispose();
return ds; 现在问题是:
要通过调用存储过程来打印这些信息,而在oracle的存储过程中select到的信息必须保存(into)在变量中,然后通过out参数返回这些变量,如果是单条记录还好,但问题是有多条记录。
请问:1.这个存储过程如何写?
2.在asp.net中如何调用这样的存储过程?
3.oracle是否支持这样的操作?
4.在oracle的包中可以完成这样的操作吗?ado.net如何调用包?如果有, 请大家给出方法或者提示。 谢谢大家!
CREATE REPLACE printEmp
AS
select * from emp /*当然SQL sever中的emp表是用户自己建的 */ 然后在system.data.sqlclient下通过ado.net的内置对象(SqlDataAdapter)来调用它,指定其
SelectCommand.CommandType = CommandType.StoredProcedur最后用它来填充dataset的对象ds,
通过这样来查的emp中的所有记录,并将ds绑定到数据控件,即可在前台显示这些信息。 在oracle中可以直接用sql语句来打印这些信息 OracleConnection con = new OracleConnection(cl.conString);
OracleDataAdapter oda = new OracleDataAdapter("select * from emp", con);
//oda.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
oda.Fill(ds); con.Dispose();
return ds; 现在问题是:
要通过调用存储过程来打印这些信息,而在oracle的存储过程中select到的信息必须保存(into)在变量中,然后通过out参数返回这些变量,如果是单条记录还好,但问题是有多条记录。
请问:1.这个存储过程如何写?
2.在asp.net中如何调用这样的存储过程?
3.oracle是否支持这样的操作?
4.在oracle的包中可以完成这样的操作吗?ado.net如何调用包?如果有, 请大家给出方法或者提示。 谢谢大家!
is
begin
open out_cursor for
select t.* from emp t;
end;上面的例子就是如何通过存储过程返回结果集的
我是菜鸟, 没有搞懂你的意思
这个存储过程在ado.net中怎么调用啊,求助majy?
http://blog.csdn.net/dcju002/archive/2009/01/08/3734951.aspx
http://www.wangchao.net.cn/bbsdetail_31417.html
谢谢了 create or replace procedure test_cursor(out_cursor out SYS_REFCURSOR)
is
begin
open out_cursor for
select t.* from emp t;
end;
private void gvBind()
{
OracleConnection con = new OracleConnection(SqlDataSource1.ConnectionString); OracleDataAdapter oda = new OracleDataAdapter("test_cursor", con);
oda.SelectCommand.CommandType = CommandType.StoredProcedure;
oda.SelectCommand.Parameters.Add("out_cursor", OracleType.Cursor).Direction = ParameterDirection.Output; DataTable dt = new DataTable();
oda.Fill(dt); ASPxGridView2.DataSource = dt;
ASPxGridView2.DataBind(); oda.Dispose();
dt.Dispose();
con.Dispose();
}
create or replace procedure test_cursor(out_cursor out SYS_REFCURSOR)
参数 out_cursor out SYS_REFCURSOR这里怎么是SYS_REFCURSOR 而不是cursor
这个SYS_REFCURSOR 是什么意思啊