asp变量组成SQL语句字符串问题
StrSQL = "INSERT INTO [AInfo_GD] (SNo,AName,ANo) VALUES ('"&No&"','"&UPstr&"','"&myGuid&"')"
response.write StrSQL;
显示为:
INSERT INTO [AInfo_GD] (SNo,AName,ANo) VALUES ('5','覆盖',''7191CE37-A000-4D17-ADF3-159872E1ADE4;
显然右边缺了 '),因此执行语句时出错;
而如果,
StrSQL = "INSERT INTO [AInfo_GD] (SNo,AName,ANo) VALUES ('"&No&"','"&UPstr&"','7191CE37-A000-4D17-ADF3-159872E1ADE4')"
则语句可执行,问题就是因为 myGuid等于GUID性质的字符串后,导致出错。
该如何处理变量问题?
[解决办法]
你的strsql写法是正确的
但输出的sql是错误的,需要你检查一下myGuid是什么内容?
[解决办法]
转义sql的',变为''
拼接sql语句一定要注意替换',要不很容易被sql注入
function sql(v) sql=replace(v,"'","''")end functionStrSQL = "INSERT INTO [AInfo_GD] (SNo,AName,ANo) VALUES ('"&sql(No)&"','"&sql(UPstr)&"','"&sql(myGuid)&"')"response.write StrSQL
[解决办法]