Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 10514|回复: 6

[已解决]VBA 向MSSQL写入时 字符串中带单引号

[复制链接]
发表于 2013-5-15 10:33 | 显示全部楼层 |阅读模式
一个string型值,在往MSSQL中写入时,由于值中带有 ’ ,写入的时候报错,该怎么转义?还是有别的方法的?前提不用替换。也就是说在插入数据库之后,还是要能看到这个单引号的。
知道的请帮忙,谢谢!
最佳答案
2013-5-15 13:01
本帖最后由 hwc2ycy 于 2013-5-15 13:03 编辑

2种方法,
1.你可以用""括起来。
sql="update table set code =""" & code & """"

2.你可以把值中间的'替换为''(单引号替换为两个单引号)
sql="update table set code ='" & replace(code,"'","''")  & "'"

我在ACCESS中测试过。

以前记得看还有`,[]

发表于 2013-5-15 10:55 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-5-15 11:01 | 显示全部楼层
hwc2ycy 发表于 2013-5-15 10:55
外面用'连接


变量赋值? 如果现在  code = sh2.cells(1,1) code中含有’
SQl语句? sql=" update table set code =' " & code & " ' "
您说的外面用 ‘ 连接 的外面说的是加在哪?
回复

使用道具 举报

发表于 2013-5-15 13:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hwc2ycy 于 2013-5-15 13:03 编辑

2种方法,
1.你可以用""括起来。
sql="update table set code =""" & code & """"

2.你可以把值中间的'替换为''(单引号替换为两个单引号)
sql="update table set code ='" & replace(code,"'","''")  & "'"

我在ACCESS中测试过。

以前记得看还有`,[]

回复

使用道具 举报

 楼主| 发表于 2013-5-15 16:11 | 显示全部楼层
hwc2ycy 发表于 2013-5-15 13:01
2种方法,
1.你可以用""括起来。
sql="update table set code =""" & code & """"

谢谢!
第二个能用,第一个好像不太好使。。。
回复

使用道具 举报

发表于 2013-5-15 16:16 | 显示全部楼层
ts_louis 发表于 2013-5-15 16:11
谢谢!
第二个能用,第一个好像不太好使。。。

单引号与双引号没有一弄错吧,{:912:}
回复

使用道具 举报

发表于 2013-7-8 06:34 | 显示全部楼层
我按你的以excel本工作为数据库提示运行出错,光标停在code上“编译错误,变量未定义”,这是为什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-8 07:35 , Processed in 0.303632 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表