SQLParameter无法正常工作

时间:2010-04-04 22:51:13

标签: c# sql stored-procedures

我正在尝试访问存储过程,并且收到错误消息:

  

过程或函数'getbug'需要参数'@bugID',这是未提供的。

这是我调用该程序的代码。

SqlCommand cmd = new SqlCommand("getbug", cn);
cmd.Parameters.Add(new SqlParameter("bugID", bugID));

bugID设置为1089(并且类型为int)

我无法弄清楚为什么这不起作用。

3 个答案:

答案 0 :(得分:4)

试试这个

SqlCommand cmd = new SqlCommand("getbug", cn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@bugID", bugID));

答案 1 :(得分:2)

尝试将“@”添加到参数

SqlCommand cmd = new SqlCommand("getbug", cn);
cmd.Parameters.Add(new SqlParameter("@bugID", bugID));

答案 2 :(得分:1)

更多代码会有所帮助。这里有几个想法。

如果您正在调用存储过程,则需要指定CommandType。此外,您可以使用AddWithValue方法缩短代码。

using (var cn = new SqlConnection("your connection string"))
{
    using (var cmd = new SqlCommand("getbug", cn))
    {
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@bugID", bugID);

        //etc...
    }
}