【问题标题】:stC#: How to call a stored procedure and use a parameter as an arraystC#:如何调用存储过程并将参数用作数组
【发布时间】:2013-04-07 23:57:00
【问题描述】:

我正在开发一个将执行存储过程的按钮。返回数据时,我只需要将记录号传递到稍后将用于后页的数组中。然后,aspx 的后台会将记录号输入到字符串中,并将用户重定向到 RecordInfo 页面。这是我到目前为止的内容,但我一直收到同样的错误:

{“此 SqlParameterCollection 不包含参数名称为 '@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;
    }

【问题讨论】:

  • I want to just let the stored procedure gather the data needed and return the part info into the datagrid. ,这到底是什么意思?
  • 我的意思是存储过程已经设置为获取我想要检索的数据。然后需要将该数据插入到数据网格中
  • 你有什么问题?你有例外吗?
  • 这是弹出的错误:Procedure GetNextRec has no parameters and arguments were provided
  • 我相信你正在寻找这样的东西stackoverflow.com/questions/101033/…

标签: c# sql stored-procedures parameter-passing


【解决方案1】:

好的,所以要调用不带参数的过程,只需删除这两行:

db.AddOutParameter(dbc, "Record_OUT", DbType.String, 15);
db.AddOutParameter(dbc, "locator_OUT", DbType.String, 9);

【讨论】:

  • 这不会帮助我尝试了很多方法。不过,我已经改变了我的方法,如果你能接受挑战,我希望得到一些帮助。
  • @user,你对你的方法做了哪些改变?您是否使用这种新方法更新了问题以及您遇到的问题?
【解决方案2】:

所以我终于想通了。 我能够根据存储过程中设置的参数填充我需要的页面。 我使用了以下代码:

db.AddOutParameter(dbCommand, "RecNum_OUT", DbType.String, 15);--

在命令下方获取所需的程序。 一旦我添加了该行,一切正常。

感谢那些试图提供帮助的人。

【讨论】:

    猜你喜欢
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 2016-02-25
    • 2021-10-03
    • 1970-01-01
    • 2021-09-19
    相关资源
    最近更新 更多