如何解决Insert语句中单引号与数据中的单引号的冲突(高手在哪?)

showname 2007-03-28 01:17:01
记得insert的格式是
insert into 表名 (字段1,字段2,字段3....)values(数值,数值,'字符串')
但是如果字符串中含有的单引号(') 与 insert 语名中的单引号(')一样的话,即:
字符串="我是一条带单引号'的字符串"
在执行mycommand. ExecuteNonQuery()时会报错
提示"***旁边的单引号不完整"

我的解决方法是在执行mycom.ExecuteNonQuery()语句前把字段的值中的单引号(')替换成全角单引号(‘)在读取数据库时再把全角符号(‘)替换成('),
但这么来回替换之后,原数据中的全角单引号不就全都被(')覆盖了,得到不是我想要的结果
>>>>>>>>>>>>>>>>>>>>>.
好想知道高手是如何解决这个问题的
...全文
934 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
showname 2007-03-29
  • 打赏
  • 举报
回复
问题已解决,多谢大家
yz1199 2007-03-28
  • 打赏
  • 举报
回复
用带参数的更新方式就不会出现这个麻烦了
chestnuts 2007-03-28
  • 打赏
  • 举报
回复
insert语句里面,两个连续的单引号在存放数据时是不是自动转义为一个单引号啊?
对!!前提是如果在两个单引号之间的话
如:
'I bought a book last day that it's name is ''calculus'''
将转义为:
I bought a book last day that it's name is 'calculus'
showname 2007-03-28
  • 打赏
  • 举报
回复
在insert语句里面,两个连续的单引号在存放数据时是不是自动转义为一个单引号啊?
showname 2007-03-28
  • 打赏
  • 举报
回复
'--->''
???
showname 2007-03-28
  • 打赏
  • 举报
回复
可以是可以,但再读取数据时再转回来不就要在下面代码前再加处理啦,有点麻烦,有没更好的办法,你们都是这样处理单引号的吗?
strsql = "select * from ipinfor"
Dim myadapter As New SqlDataAdapter(strsql, mycon)
Dim mydataset As New DataSet
myadapter.Fill(mydataset, "mytable")
Me.DataGridView1.DataSource = mydataset.Tables("mytable")
mycon.Close() REM 关闭连接
MsgBox("已插入" & Me.DataGridView1.Rows.Count & "条纪录")
xray2005 2007-03-28
  • 打赏
  • 举报
回复
'--->''
vfan2010 2007-03-28
  • 打赏
  • 举报
回复 1
凡是用到单绰号的地方都变成2个单引号
showname 2007-03-28
  • 打赏
  • 举报
回复
让我试一下,不过听上去好像不怎么好
feiyun0112 2007-03-28
  • 打赏
  • 举报
回复
变成2个单引号

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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