首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp变量组成SQL语句字符串有关问题

2012-10-23 
asp变量组成SQL语句字符串问题StrSQL INSERT INTO [AInfo_GD] (SNo,AName,ANo) VALUES (&No&,&UP

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注入

VBScript code
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
[解决办法]
探讨
解决了;
Set objTypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = objTypeLib.Guid
Set objTypeLib = Nothing
myGuid = Replace(Replace(myGuid, "{", ""), "}", "")
此段代码来自网上,现将第四句,字符串处理方式改为
……

[解决办法]
vbs的GUID都是用{}括起的,多'是不是其他内容造成的。一定要替换掉'或者替换为对应的实体'',要不你就等呗注入了
[解决办法]
语句写着,单引号不配对。

热点排行