[英]how to get dataset value from store procedure for oracle in c#
我的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.RaiseChangedEvents()+105 System.Web .UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+3572
[InvalidOperationException:由于对象的当前状态,操作无效。
此异常有多种可能性。
1) command.CommandText = *Your Sp's name will go here*;
看起来像您的代码中缺少。 如果缺少,请提供CommandText。
2)中可能是由于web.config中的MaxHttpCollection设置。 默认情况下,它可以容纳1000。在web.config中添加以下设置。
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="2001" />
</appSettings>
希望这能解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.