日期:2014-05-19  浏览次数:20433 次

一个简单问题 “'”这个单引号如果要用sql语句添加到数据库就会出错,用存储过程则不会?那应该如何解决?
一个简单问题   “ '”这个单引号如果要用sql语句添加到数据库就会出错,用存储过程则不会?那应该如何解决?怎样用正则表达式把字符串中的 '号去掉?

------解决方案--------------------
单引号是个比较严重的问题,你可以替换成2个单引号,或者替换成中文全角的,使用的时候再替换回去
------解决方案--------------------
SQL 语句两个单引号会被转义为一个单引号,因此简单替换一下就 OK 了!

建议不要去除单引号,因为用户输入它有特殊用意,例如表示寸或分等,去除后用户会很诧异!
------解决方案--------------------
到数据库替换为其他字符,出数据库再替换回来
------解决方案--------------------
就用参数来处理吧!这样不会出错,对于以后数据迁移也方便,
不用参数就将单引号替换为两个单引号
------解决方案--------------------
用存贮过程安全点。不行就用参数。
------解决方案--------------------
用参数吧,想怎么加就怎么加,怎么加都有型,毕竟我认为把很小的查询语句都写到存储过程,太小提大作了.
------解决方案--------------------
可以说你在使用SQL Server的时候不重视SQL Server。

简单地查询一下SQL Server联机帮助首层,就能查到字符串中包含单引号时怎样写。这个方法应该是任何认真的程序员都能想得到的。
------解决方案--------------------
简单地查询一下SQL Server联机帮助首层 --> 简单地查询一下SQL Server联机帮助手册

我在项目中不怕程序员不懂,就怕懂得不全的时候但是学不进去了。不自己查手册,直到运行时别人发现BUG才想办法解决,是个比较重的缺点。