2011-10-12 104 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