2016-05-13 32 views
1

我遇到了問題,試圖更新我的SQL數據庫應該工作的代碼,我沒有看到什麼是錯的,或者如何解決它。也許一組新的眼睛可能能夠指出什麼是錯的。誤差=webmatrix 3 C#SQL錯誤參數化查詢

「的參數化查詢 '(@ 0 nvarchar的(3),@ 1個爲nvarchar(12),@ 2爲nvarchar(8),@ 3爲nvarchar(4),@ 4' 預計參數「@ 8' ,但未提供該」

代碼如下:

Truck_Number = Request.Form["Truck_Number"]; 
Truck_Make = Request.Form["Truck_Make"];   
Truck_Model = Request.Form["Truck_Model"]; 
Truck_Year = Request.Form["Truck_Year"]; 
Truck_Vin = Request.Form["Truck_Vin"]; 
Truck_Empty_Weight = Request.Form["Truck_Empty_Weight"]; 
Truck_Assigned_To = Request.Form["Truck_Assigned_To"]; 
Truck_Assigned_Date = Request.Form["Truck_Assigned_Date"]; 
Truck_Plate_Number = Request.Form["Truck_Plate_Number"]; 
Truck_IFTA_ID = Request.Form["Truck_IFTA_ID"]; 
Truck_HUT_ID = Request.Form["Truck_HUT_ID"]; 
Truck_Oregon_ID = Request.Form["Truck_Oregon_ID"]; 
Truck_New_Mexico_ID = Request.Form["Truck_New_Mexico_ID"]; 
Truck_Kentucky_ID = Request.Form["Truck_Kentucky_ID"]; 
Truck_Payment_Start_Date = Request.Form["Truck_Payment_Start_Date"]; 
Truck_Payment_Due_Date = Request.Form["Truck_Payment_Due_Date"]; 
Truck_Payment_Amount = Request.Form["Truck_Payment_Amount"]; 
Truck_Total_Payment = Request.Form["Truck_Total_Payment"]; 
Truck_Commission = Request.Form["Truck_Commission"]; 

var updateQueryString [email protected]"UPDATE Trucks SET [email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected], 
[email protected] WHERE [email protected]"; 
db.Execute(updateQueryString,Truck_Number,Truck_Make,Truck_Model,Truck_Year,Truck_Vin,Truck_Empty_Weight,Truck_Assigned_To,Truck_Assigned_Date,Truck_Plate_Number,Truck_IFTA_ID,Truck_HUT_ID,Truck_Oregon_ID,Truck_New_Mexico_ID,Truck_Kentucky_ID,Truck_Payment_Start_Date,Truck_Payment_Due_Date,Truck_Payment_Amount,Truck_Total_Payment,Truck_Commission,ID); 
Response.Redirect("truck_list.cshtml"); 

任何幫助弄清楚什麼是錯了,我將不勝感激

+0

的參數化查詢 '(@ 0 nvarchar的(3),@ 1個爲nvarchar(12),@ 2爲nvarchar(8),@ 3爲nvarchar(4),@ 4' 預期參數'@ 8',沒有提供。 –

+0

檢查你是否確實有一個名爲「Truck_Vin」的表單字段 –

回答

1

你@ 8列出兩次,而你錯過了@ 4。

+0

是的,我忘了把它放回去,起初我以爲它是在4點應該是8的意思,所以我改變了4到8,但忘了放回去,但仍然得到同樣的錯誤。 –

0
+0

是的,我在我的代碼中解決了這個問題,但仍然給出了同樣的錯誤,我認爲@ 4是說應該是@ 8,所以我改變了Truck_Vin = @ 4到8,只是爲了檢查,但忘記把它放回到4之前張貼在這裏。雖然它仍然是相同的錯誤... –

+0

好簡單的數學:從@ 0到@ 19有20個變量嗎?但是從Request.Form []'獲得19個值,我想你應該在db.Execute()方法中傳遞一個值。 – mihkov

+0

是在該塊中有19個Request.Form [「」]變量,但最頂端是1,它是var ID = Request [「id」]變量,因爲這是一個更新查詢,它將該變量從URL本身truck_edit.cshtml?id = 2場景。這是列表中@ 19,並在最後的db.Execute(updateQueryString ,,,,,,,,,,,,,,,, ID)設置... –