插入数据库的字符串有单引号怎么转义

插入数据库的字符串有单引号怎么转义,第1张

其实整体转义应该也不会影响太多的性能,用个正则一下就完成了。

还有个办法:单引号是数据库默认的字符的边界符,你只要修改就可以了,就是把数据库中表示字符串起始与结束改用别的符号,Oracle里是可以改的,Mysql你查一下。

在存储过程中,密码中有’(单引号),第一反应使用转义字符。敲上/(反斜杠),失败告终;

百度一下如下结果,sql

的转义字符是:'(单引号),所以在密码中写’’(两个单引号),表示一个单引号。c++

的转义字符是:\sql

的转义字符是:'(单引号)例:select

*

from

tbl

where

uyear='''06'请注意其中红色背景的单引号,它即表示转义字符,如果我们省略,则整个语句会出错,转义字符不会输出,上例中

uyear

的实际条件值为

'06,而不是

''06为什么不能省略呢,假如我们省略,上句变成:select

*

from

tbl

where

uyear=''06'由于在

sql

中单引号表示字符串的开始和结束符号,于是

sql

解释器会认为语句中灰色背景的为字符串,其后的语句显然是个错误的语句,当然会报错,为了解决字符串的单引号问题,就出现了转义字符单。

其实啊 你在richbox里面打的回车和空格 保存在字符串里的时候 他不会自动跟你生成 \n 或\t 的 。而是生成与他们相对应的编码 比如空格是:32 回车是13 。

所以呢 当你从数据库里取出内容显示在richbox里之前呢 就处理一下字符串 把32 和13 转换成 \t \n的形式。

如 String str="XXXXX"

str=str.Replace((char)13,'\n')

str = str.Replace((char)32, '\t')

其实呢 这个方法不仅仅用在winform的richbox里 而且用在asp.net中留言板块,因为你在网页中输入的空格和内容,如果没有处理的话 显示时都是没有效果的,所以要处理下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9598812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存