Asp.net 参数集合中不包含名为的SqlParameter

Asp.net 参数集合中不包含名为的SqlParameter,asp.net,sql-server,stored-procedures,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

我一直在犯这个错误

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");
我有一个存储过程,它有一个输出变量result,这个变量根据if条件更新


我想在asp.net中设置一个条件,在result=1时进行检查并打印一条语句,问题是我一直收到上面的错误

将这一行移到int result=int.Parse(sqlcmd.Parameters[“@result”].Value.ToString());在sqlcmd.ExecuteNonQuery()之后执行

您也可以发布存储过程吗?在调用过程之前,您正在使用
@result
参数。也不应该使用
AddWithValue