插入sql2005数据库,inert 语句中含有单引号,怎么办啊?

pzcm2008 2012-09-17 04:31:16
我的网页中使用dntb(donnettextbox)插件(就是加强版的textbox),这样可以直接将一些复杂的文本信息(如:带格式的字体、表格等),以HTML脚本的形式,录入数据库。

但是现在出现了一个问题,有些文本信息变为HTML脚本时有单引号——’,这样的在inert语句输入数据库时,就会提示语法错误。

经过初步学习,我知道单引号是数据库的非法字符,如果确实需要把例如(it's mine)输入的话,需要把语句改成(it''s mine)。还有人提出使用某种对象的方式进行插入(这个方法我还没搞清楚)。

目前我尝试对问题文本进行了转义:
Description.Replace("'","''"),然后再执行inert语句。

但是还是无法插入,提示非法字符,哪位高人有没有更好的办法呢?
...全文
176 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pzcm2008 2012-09-18
  • 打赏
  • 举报
回复
我已经解决,感谢各位的回答。
yonglaixiazaide 2012-09-17
  • 打赏
  • 举报
回复
用参数
超级大咸鱼 2012-09-17
  • 打赏
  • 举报
回复
试试这个: \'
http://baike.baidu.com/view/73.htm
zhulong1111 2012-09-17
  • 打赏
  • 举报
回复
Replace("'","*"),
超级大咸鱼 2012-09-17
  • 打赏
  • 举报
回复
提示,"转义字符"
wangfnso 2012-09-17
  • 打赏
  • 举报
回复
Description.Replace("'","#"),然后再执行inert语句。
pzcm2008 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你可以再换一个字符,比如#,因为"在数据库中进行SQL语句时是不识别的.
[/Quote]

没太明白你的意思,可否稍加说明?
dalmeeme 2012-09-17
  • 打赏
  • 举报
回复
使用参数化SQL:http://www.cnblogs.com/asdlx/archive/2010/05/14/1735410.html

可以用cmd.Parameters.AddWithValue方法。
wangfnso 2012-09-17
  • 打赏
  • 举报
回复
你可以再换一个字符,比如#,因为"在数据库中进行SQL语句时是不识别的.
qldsrx 2012-09-17
  • 打赏
  • 举报
回复
参数化查询就可以的,对于字符串的部分使用参数传递,参数中的单引号无需特别处理,自动转义的。
bdmh 2012-09-17
  • 打赏
  • 举报
回复
"it's mine";

110,825

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧