还有个办法:单引号是数据库默认的字符串的边界符,你只要修改就可以了,就是把数据库中表示字符串起始与结束改用别的符号,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中留言板块,因为你在网页中输入的空格和内容,如果没有处理的话 显示时都是没有效果的,所以要处理下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)