0

我有程序的定义

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); 

它显示错误:

此 sqlParameterCollection 不包含具有 ParameterName 'retvalue' 的 sql 参数

我该如何解决?

4

1 回答 1

1

你得到这个是因为你没有将返回参数添加到命令中。你错过了这个

cmd.Parameters.Add(sqlParameterRet );

cmd.ExecuteNonQuery();
于 2013-08-07T14:46:57.730 回答