insert into 出错,字符串中有单引号!

netmuse 2003-04-26 07:33:22
s_temp="INT'L CO"
insert into a(b) values('" & s_temp & "')出错,请问怎么解决?
...全文
336 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
penper 2003-04-28
  • 打赏
  • 举报
回复
1、替换成别的特殊字符存入,显示地时候再处理;
2、用记录集地update方法;
Quady515 2003-04-28
  • 打赏
  • 举报
回复
recordset.Addnew
饮水需思源 2003-04-28
  • 打赏
  • 举报
回复
s_temp="INT'L CO"
insert a(b) values('" & replace(s_temp,"'","''") & "')
lazycat818 2003-04-28
  • 打赏
  • 举报
回复
Function DealStr4SQL(ByVal strOld As String) As String
Dim pos As Integer

pos = InStr(strOld, "'")

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

DealStr4SQL = RTrim$(strOld)

End Function

对每个可能出现单引号的字符串进行处理。

还有,用Insert的效率比不上recordset的Addnew.
DimVar 2003-04-28
  • 打赏
  • 举报
回复
改成:insert into a(b) values('" & replace(s_temp,"'","''") & "')
netmuse 2003-04-28
  • 打赏
  • 举报
回复
replace(s_temp,"'","''")就可以了
yuhaii 2003-04-28
  • 打赏
  • 举报
回复
Private Sub Aa()
s_temp=strsq("INT'L CO")
insert into a(b) values('" & s_temp & "')
end sub

Function StrSQ(ByVal Str As String) As String
DropSQ = "'" & Replace(Str, "'", "''") & "'"
End Function
LichKingSZ 2003-04-26
  • 打赏
  • 举报
回复
b字段如果不是字符类型的,就不能用单引号
netmuse 2003-04-26
  • 打赏
  • 举报
回复

adocon.execute("insert into a(b) values('" & s_temp & "')")
s_temp不含单引号就没有问题的
yangwl 2003-04-26
  • 打赏
  • 举报
回复
"insert into a(b) values('" & s_temp & "')"
看清双引号的作用

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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