【发布时间】:2013-08-07 13:34:54
【问题描述】:
我正在编写 winform 应用程序,我在我的数据网格中调用程序。 我有定义过程参数的方法
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(typNastav,nastavID,hod);
我有一个错误参数 1 必须使用 'out' 关键字传递
我把它改成 dataConnector.Add_Nastavenie(out typNastav,nastavID,hod);
错误消失,但应用程序不工作,程序什么也不做。
我的 try catch 异常显示:过程或函数“add_Nastav”需要参数“@TypNastav”,但未提供。
有人可以帮忙找到解决办法吗?谢谢 。
【问题讨论】:
标签: c# sql .net sql-server stored-procedures