我无法创建简单的vbscript字符串

我无法创建简单的vbscript字符串,vbscript,Vbscript,我曾多次面对这个问题,我正在寻找原因 sql="update setting set hashcode='"&hashcode&"'" 错误: sql=“更新设置集hashcode=”&hashcode&“ ----------------------------------------------^ Microsoft VBScript编译错误“800a0401” 预期报表结束 请注意,更改hashcode的初始值无效 但这很好用 sq

我曾多次面对这个问题,我正在寻找原因

sql="update setting set hashcode='"&hashcode&"'"
错误:

sql=“更新设置集hashcode=”&hashcode&“

----------------------------------------------^

Microsoft VBScript编译错误“800a0401”

预期报表结束

请注意,更改hashcode的初始值无效

但这很好用

sql="update setting set anotherword='"&anotherword&"'"

您知道为什么重命名参数可以解决问题吗?

您需要在
&
字符周围使用空格以防止歧义

&ha
被视为一个数字(十六进制)值,直接跟在字符串后面是非法的,这就是为什么需要结束语句的原因。(
&h
表示vbscript中十六进制数字的开头,
a
是有效的十六进制数字。)

因此,您的代码应该是:

sql = "update setting set hashcode = '" & hashcode & "'"


旁注:为了防止SQL注入(取决于
hashcode
变量中的值来自何处),您可能需要使用
replace(hashcode,“,”)

OMG!“哈”到底是什么意思?十六进制?
&h
表示十六进制数
&ha
是十六进制数
A
0xA
)。