在语句中有'单引号时怎么办?

aproc 2002-01-22 04:13:23
我在VB中用Ado.execute "insert into ....."向数据库中增加数据。如果我要增加的某一个字段中有单引号怎么办。因为在SQL中单引号是字符串的开始和结束。谢谢各位。
不过请别告诉我用open recordset 的办法。除此之外.......
...全文
116 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
aproc 2002-03-13
  • 打赏
  • 举报
回复
我后来是用replace将'换成'',是个笨办法。
我觉得mycode说的很有见地。
panther_totem 2002-01-23
  • 打赏
  • 举报
回复
学习。
supsuccess 2002-01-23
  • 打赏
  • 举报
回复
如果象这样:“It is Tom's!”语句中的“'”可以直接把“'”改成“''”,既:
' ===> ''
whitehare 2002-01-23
  • 打赏
  • 举报
回复
在' ' 表示 ' , 每一种语言都不同,如C里是\'
delphi 里就是 ''
spatialx 2002-01-23
  • 打赏
  • 举报
回复
你弄的东西太简单了!
amature 2002-01-22
  • 打赏
  • 举报
回复
同意mycode的说法,
我用DELPHI进行ADO开发时,
所有的SQL语句,涉及到动态结果的,都是用PARAMETER来实现的,
根本不在乎特色字符,DELPHI或者数据库系统本身会自动进行相应的处理。
QQ576006 2002-01-22
  • 打赏
  • 举报
回复
'处理 Select 语句中的单引号
Public Function CheckString(s As String, Optional HasSE As Boolean = True) As String
Dim Pos As Integer

Pos = InStr(s, "'")
While Pos > 0
s = mID(s, 1, Pos) & "'" & mID(s, Pos + 1)
Pos = InStr(Pos + 2, s, "'")
Wend

If HasSE Then
CheckString = "'" & s & "'"
Else
CheckString = s
End If
End Function
PerfectCK 2002-01-22
  • 打赏
  • 举报
回复
Public Function ChackStr(ByVal ChStr As String) As String
Dim i As Integer
Dim s As String
s = ChStr
i = InStr(s, "'")
Do While Not i = 0
s = Mid(s, 1, i) & "'" & Mid(s, i + 1)
i = InStr(i + 2, s, "'")
Loop
ChackStr = s
End Function
mycode 2002-01-22
  • 打赏
  • 举报
回复
我觉得用构造字符串的方式来使用SQL语句是一种较为低效的方法.
如:语句中有'单引号怎么办,语句中如果还有其他特殊字符%、&等,难道都要逐个去处理吗。
从ADO来看,应该采用Command对象的Parameter对象来解决。用参数化的方式,让ADO去处理特殊字符,即减少了出错的可能,又提高了系统的效率。
warning 2002-01-22
  • 打赏
  • 举报
回复
回复人: icevi(按钮工厂) (2002-1-17 15:57:51) 得0分
SET @SQLString ='SELECT top 15 * FROM '+@category+' WHERE id<= @pagebeg and title like ''%'+@newskey+'%'' order by newsid desc'
moleq 2002-01-22
  • 打赏
  • 举报
回复
用[]试试

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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