【问题标题】:ASP Classic+SQL server 2000ASP经典+SQL服务器2000
【发布时间】:2011-12-05 20:45:52
【问题描述】:
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")

错误

将 varchar 值“1006-101”转换为 数据类型 int。

我从文本字段中获得价值。什么是正确的代码,我必须使用你。

【问题讨论】:

  • 你能指定你的表结构是什么吗?喜欢列名及其数据类型?并提及您发送的值。

标签: asp-classic sql-server-2000


【解决方案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") & "'"

【讨论】:

  • @user988651:可以,但我不会使用它。您将您的站点暴露给 SQL 注入攻击。始终使用参数化查询。
  • 是的,此解决方案需要在将输入添加到 SQL 查询之前对其进行清理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多