带有名称的SqlParameter不包含在参数集合中

时间:2017-12-02 00:21:49

标签: asp.net sql-server stored-procedures

我一直收到此错误

protected void Button1_Click(object sender, EventArgs e)
{
    if (sqlcon.State == System.Data.ConnectionState.Closed)
        sqlcon.Open();

    SqlCommand sqlcmd = new SqlCommand("MG_Reviews_Task",sqlcon);
    sqlcmd.CommandType = System.Data.CommandType.StoredProcedure;

    sqlcmd.Parameters.AddWithValue("@result ", SqlDbType.Int).Direction = ParameterDirection.Output;

    int result = int.Parse(sqlcmd.Parameters["@result"].Value.ToString());

    sqlcmd.Parameters.AddWithValue("@re ", Txtname.Text.Trim());
    sqlcmd.Parameters.AddWithValue("@task", TextBox2.Text.Trim());
    sqlcmd.Parameters.AddWithValue("@proj",TextBox3.Text.Trim());
    sqlcmd.Parameters.AddWithValue("@company",TextBox4.Text.Trim());
    sqlcmd.Parameters.AddWithValue("@manager",TextBox5.Text.Trim());
    sqlcmd.Parameters.AddWithValue("@res",TextBox6.Text.Trim());
    sqlcmd.Parameters.AddWithValue("@deadline ",TextBox7.Text.Trim());

    sqlcmd.ExecuteNonQuery();

    sqlcon.Close();

    if (result== 1)
    {
        Console.WriteLine("unathorized use");
    }
    else
        Console.WriteLine("success");

我有一个存储过程,它有一个输出变量结果,这个变量根据if条件更新。

我想在asp.net中创建一个条件来检查result = 1并打印一个语句,问题是我一直得到上​​面的错误

1 个答案:

答案 0 :(得分:0)

移动此行int result = int.Parse(sqlcmd.Parameters [“@ result”]。Value.ToString());到sqlcmd.ExecuteNonQuery();

之后