2014-03-12 35 views
0

我仍然不習慣於c#編程,特別是在SQL中。錯誤狀態:未提供參數化查詢

的參數化查詢 '(@ProdNo VARCHAR(8000))DELETE FROM [訂購] WHERE ProdNo = @ProdN' 預計參數 '@ProdNo',但未提供。

我不知道該怎麼做。我需要幫助。謝謝!

public void DeleteRecord() 
{ 
      SqlCommand cmd = new SqlCommand("DELETE FROM [ORDER] WHERE ProdNo = @ProdNo", myCon); 
      cmd.Parameters.Add("@ProdNo", SqlDbType.VarChar).Value = username; 

      myCon.Open(); 
      cmd.ExecuteNonQuery(); 
      myCon.Close(); 
     } 
+1

誤差約'@ prodN'會談?或者它只是一個錯字?但是,如上所述,查詢似乎是正確的(除了違反直覺的事實,即ProdNo =用戶名) – Steve

+0

就是這樣!它應該是ProdNo = ProdNo。謝謝你,先生! – YellowSubmarine

回答

1

由於ProdNo似乎是字符值,而不是一個數字,改變你的SQL,SQL 報價的值,如:

DELETE FROM [ORDER] WHERE ProdNo = '@ProdNo'

+0

謝謝先生!我花了很多時間來解釋這一點,感謝您的幫助!對不起,我的初學者錯誤:) – YellowSubmarine

+1

@YellowSubmarine它發生在我們所有人和給予的警告是沒有什麼幫助。 :-) – OmegaMan