2011-10-12 105 views
1
UPDATE a 
SET a.status = 1 
FROM tbl_Assets2010 AS a 
INNER JOIN tbl_Master AS m ON a.AssetNo = m.AssetNo 
WHERE a.AssetNo =" & Request.Form(AssetNo") 

錯誤ASP經典+ SQL服務器2000

語法錯誤將varchar值 '1006-101' 轉換爲 int數據類型的一列。

我從文本字段獲得值。什麼是正確的代碼我必須使用ya。

+0

你能指定什麼是你的表結構嗎?像列名與他們的數據類型?並提及您發送的價值。 – wasimbhalli

回答

1

你必須把它作爲一個字符串處理(注意下面你的Request.Form的撇號)。

UPDATE a SET a.status = 1 FROM tbl_Assets2010 AS a INNER JOIN tbl_Master AS m ON a.AssetNo = m.AssetNo WHERE a.AssetNo ='" & Request.Form(AssetNo") & "'" 
+0

非常感謝你..解決了問題:) – GreenCat

+1

@ user988651:這將工作,但我不會使用它。您將您的網站暴露給SQL注入攻擊。始終使用參數化查詢。 – AnthonyWJones

+0

是的,此解決方案需要在將輸入添加到SQL查詢之前對輸入進行清理。 – jmalm