如何在c中从oracle的存储过程中获取数据集值

本文关键字:过程中 存储过程 获取 数据集 存储 中从 oracle | 更新日期: 2023-09-27 18:21:11

我的sp在curser中返回表,但在使用数据集映射时出错

DataSet ds = new DataSet();
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("Size", OracleDbType.Int16).Value = size
command.Parameters.Add("Index", OracleDbType.Int16).Value = Index;
command.Parameters.Add("Data", OracleDbType.RefCursor).Direction = ParameterDirection.Output;
OracleDataAdapter da = new OracleDataAdapter(command);
da.Fill(ds);
return ds;

但我得到以下错误:
如何映射

InvalidOperationException:由于对象的当前状态,操作无效。]System.Web.UI.WebControls.ListControl.OnSelectedIndexChanged(EventArgs e)+130 System.Web.UI.Page.RiseChangedEvents()+105 System.Web.UI.Bage.ProcessRequestMain(布尔值includeStagesForeAsyncPoint,布尔值includestagesAfterSyncPoint)+3572

如何在c中从oracle的存储过程中获取数据集值

InvalidOperationException:由于对象的当前状态,操作无效。]

这种例外有多种可能性。

1) command.CommandText = *Your Sp's name will go here*;您的代码中似乎缺少。如果缺少CommandText。

2) In可能是因为web.config中的MaxHttpCollection设置。默认情况下,它可以容纳1000。在web.config中添加以下设置。

<appSettings>
    <add key="aspnet:MaxHttpCollectionKeys" value="2001" />
</appSettings> 

希望这能解决你的问题。