我還有一個問題...這裏是代碼參數傳遞,但變量的參數
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'。 –