Asp.net mvc 4 使用OledbConnection从MVC4调用存储过程并返回数据集
我是oracle11i新手,使用sql developer编写一个过程,将数据插入临时表-TEMP_ALLOCAsp.net mvc 4 使用OledbConnection从MVC4调用存储过程并返回数据集,asp.net-mvc-4,oracle11g,dataset,Asp.net Mvc 4,Oracle11g,Dataset,我是oracle11i新手,使用sql developer编写一个过程,将数据插入临时表-TEMP_ALLOC create or replace PROCEDURE SP_GEN_ALLOC (A integer, B, Integer, o_cRefCursor OUT SYS_REFCURSOR) as BEGIN OPEN o_cRefCursor FOR SELECT colA,colB,colC FROM TEMP_ALLOC; END SP_GEN_ALLOC;
create or replace PROCEDURE SP_GEN_ALLOC
(A integer, B, Integer, o_cRefCursor OUT SYS_REFCURSOR)
as
BEGIN
OPEN o_cRefCursor FOR
SELECT colA,colB,colC FROM TEMP_ALLOC;
END SP_GEN_ALLOC;
在SQLDeveloper中执行时,数据被填充到临时表中,现在我需要从MVC4中的类调用此过程
OleDbConnection oConn = new OleDbConnection(System.Configuration.ConfigurationManager.AppSettings["dbConn"].ToString());
try
{
oConn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oConn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SP_GEN_ALLOC";
cmd.Parameters.Add("A", OleDbType.BigInt).Value = inta;
cmd.Parameters.Add("B", OleDbType.BigInt).Value = intb;
cmd.Parameters.Add("o_cRefCursor",OleDbType.xxxxx
OleDbParameter oraP = new OleDbParameter();
oraP.Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(oraP);
OleDbDataReader oreader = cmd.ExecuteReader();
while(oreader.Read())
{
///assigning value to model
}
在这里,在OledbParameter中,我找不到OledbType=cursor。这样做对吗?
请帮忙。。从两天以来一直被困在谷歌上。
非常感谢你的帮助。
提前谢谢
删除out参数,因为不需要为out添加参数。阅读更多
oConn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oConn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SP_GEN_ALLOC";
cmd.Parameters.Add("A", OleDbType.BigInt).Value = inta;
cmd.Parameters.Add("B", OleDbType.BigInt).Value = intb;
OleDbDataReader oreader = cmd.ExecuteReader();
while(oreader.Read())
{
///assigning value to model
}