我多次遇到这个问题而且我正在寻找原因.
sql="update setting set hashcode='"&hashcode&"'"
Run Code Online (Sandbox Code Playgroud)
错误:
sql ="update setting set hashcode ='"&hashcode&"'"
---------------------------------------------- ^
Microsoft VBScript编译错误'800a0401'
预期结束声明
请注意,更改哈希码的初始值无效.
但这很好用
sql="update setting set anotherword='"&anotherword&"'"
Run Code Online (Sandbox Code Playgroud)
您是否知道为什么重命名参数可以解决问题?
你需要围绕&
角色的空白以防止歧义.
&ha
被视为数字(十六进制)值,直接跟随字符串是非法的,这就是期望语句结束的原因.(&h
表示vbscript中十六进制数的开头,a
是有效的十六进制数字.)
所以你的代码应该是:
sql = "update setting set hashcode = '" & hashcode & "'"
Run Code Online (Sandbox Code Playgroud)
附注:为防止SQL注入(取决于hashcode
变量中的值来自哪里),您可能希望使用replace(hashcode, "'", "''")