sqlParameterCollection错误

时间:2013-08-07 14:45:41

标签: c# sqlparameters

我有一个程序的定义

public int Add_Nastavenie(out int typNastav, int nastavID, string hod)
{
    ResetParameters();
    cmd.CommandText = "add_Nastav";
    cmd.CommandType = CommandType.StoredProcedure;

    SqlParameter sqlParameter;

    var sqlParameterOut = new SqlParameter("@TypNastav", SqlDbType.Int);
    sqlParameterOut.Direction = ParameterDirection.Output;


    sqlParameter = new SqlParameter("@NastavenieID", SqlDbType.Int);
    sqlParameter.Direction = ParameterDirection.Input;
    sqlParameter.Value = nastavID;
    cmd.Parameters.Add(sqlParameter);

    sqlParameter = new SqlParameter("@Hodnota", SqlDbType.NVarChar, 100);
    sqlParameter.Direction = ParameterDirection.Input;
    sqlParameter.Value = hod;
    cmd.Parameters.Add(sqlParameter);

    var sqlParameterRet = new SqlParameter("retValue", SqlDbType.Int);
    sqlParameterRet.Direction = ParameterDirection.ReturnValue;

    cmd.ExecuteNonQuery();
    typNastav = (int)sqlParameterOut.Value;
    return (int)cmd.Parameters["retvalue"].Value;

}

我将此程序称为:

 dataConnector.Add_Nastavenie(out typNastav,nastavID,hod); 

显示错误:

  

带有ParameterName'retvalue'的sql参数不包含在此中   sqlParameterCollection

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您收到此信息是因为尚未将return参数添加到命令中。你错过了这个

cmd.Parameters.Add(sqlParameterRet );

cmd.ExecuteNonQuery();