sql 语句中的' 表示一个 字符的开始, 两个单撇''表示一个字符 '
比如 select * from A where A.name = '这是一个单撇''!'
你是不是拼接的字符串呀?用参数形式试试。
因为是特殊字符,所以需要处理或者转义
' 转义为 \'再存储
或者将'转换为HTMLEncode进行存储,取数据的时候再做一次Decode
你写sql语句时如果用的是字符串拼接的话,就会提示出错。
使用参数化, @,OleDbParameter
因为是特殊字符,所以需要处理或者转义 ' 转义为 \'再存储 或者将'转换为HTMLEncode进行存储,取数据的时候再做一次Decode -------------------------------算是正解吧。
建议用 (new SqlParameter("@xxx", SqlDbType.VarChar)).Value=“”;
字符编码问题, ASP和PHP传输时会有这个问题,.NET应该封装掉了吧,几乎没再遇到
晕~看错了,应该是这样解决:
将提交内容中的单引号先都转换为双引号,这样就可以转义了提交了