读书人

急sp_executesql不能处理单引号吗解决

发布时间: 2012-04-28 11:49:53 作者: rapoo

急啊,sp_executesql不能处理单引号吗
听说sp_executesql是参数化传值的,可以避免注入,可是我如下的语句

SQL code
SET @sql=N'update Dos set '+@column+'=1 where ip='+CHAR(39)+@ip+CHAR(39)EXEC sp_executesql @sql,N'@column VARCHAR(10),@ip VARCHAR(30)',@column,@ip


我把这个@IP赋值 为 s' 就报错了,什么引号不完整,不是说是参数化传的吗,为啥还变成拼接似的呢?

[解决办法]
可以的,如果字符串里本身有单引号,那么用两个单引号表示一个单引号,即把'改为''

读书人网 >SQL Server

热点推荐