我正在处理一个执行存储过程的按钮。当返回数据时,我只需要将记录号传递到一个数组中,该数组稍后将用于后页。然后,aspx的backpage将记录号输入到字符串中,并将用户重定向到RecordInfo页面。这是我到目前为止,但我一直得到同样的错误:
{“此SqlParameterCollection不包含带有ParameterName'@RecNum_OUT'的SqlParameter。”}
我希望你能帮助我。
<asp:Button ID="GetNextRec" runat="server" Text="Get Part"
onclick="GetNextRec_Click" OnCommand="btnNext_OnClick" />
ASPX.CS
protected void GetNextRec_Click(object sender, EventArgs e)
{
String[] q = new String[1];
q = Record.GetNextRec();
Response.Redirect("~/PartsRecord.aspx?mode=full&queue=" + q[0], false);
}
数据库cs
public static String[] GetNextRec()
{
Database db = DataFactory.CreateDatabase();
DbCommand dbc = db.GetProc("GetNextRec");
db.ExecuteNonQuery(dbc); // IDK if this si doing anything
String[] q = new string[1];
q[0] = dbc.Parameters["@RecNum_OUT"].Value.ToString(); // "An SqlParameter with ParameterName '@requisition_OUT' is not contained by this SqlParameterCollection."}
return q;
}
答案 0 :(得分:0)
好的,所以调用没有参数的程序只需删除这两行:
db.AddOutParameter(dbc, "Record_OUT", DbType.String, 15);
db.AddOutParameter(dbc, "locator_OUT", DbType.String, 9);
答案 1 :(得分:0)
所以我终于想通了。 我能够根据存储过程中的参数设置填充我需要的页面。 我使用了以下代码:
db.AddOutParameter(dbCommand, "RecNum_OUT", DbType.String, 15);--
在命令下方获取所需的程序。 一旦我添加了该行,一切正常。
感谢那些试图提供帮助的人。