我还有一个问题...这里是代码参数传递,但变量的参数
public int CheckForDuplicateRandomOrderNumber()
{
int randomNumber = GenerateRandomOrderNumber();
string strCmdCheckForDuplicates = "sp_Check$For$Duplicate$Order$Numbers";
SqlCommand cm = new SqlCommand(strCmdCheckForDuplicates, cn);
SqlParameter myPm;
myPm = cm.Parameters.Add("@OrderNumber", SqlDbType.Int);
myPm.Value = randomNumber;
myPm.Direction = ParameterDirection.Input;
cn.Open();
cm.ExecuteReader();
cn.Close();
if (randomNumber == 1)
{
return randomNumber;
}
else
return 0;
}
当我运行这段代码我得到一个错误说的存储过程需要一个参数是通过,当我调试变量有参数传递。我不知道为什么发生这种情况... 而另一个问题,涉及到这...当我写这篇文章 ...
cm.parameters.add(new sqlparameter("@OrderNumber", sqldbtype.int)).value = randomNumber;
没有参数方向
默认情况下,SqlParameter的方向是Input,因此指定它不会执行任何操作。 –
谢谢,好,这样才能明白为什么我从来没有一个方向的输入...任何关于我的问题的其余部分的想法?我的错误出现在它试图执行读取器时,并且我的变量有要传递的参数。 – Cwm
而不是'cm.Parameters.Add'尝试'cm.Parameters.AddWithValue'。 –