为什么用SQL命令将含有单引号的文本保存到ACCESS数据库的备注字段里不成功?

ASP在添加信息的时信息中存在单引号的话无法添加。语句为:setrs=server.createobject("adodb.recordset")sql="inserti... ASP在添加信息的时信息中存在单引号的话无法添加。
语句为:
set rs=server.createobject("adodb.recordset")

sql="insert into news(title,Pic,s_id,recom,content) values('@n_title_s','@pic',@n_newssort_n,@n_ad_n,'@content_1')"
sql=Replace(sql,"@n_title_s",n_title_s)
sql=Replace(sql,"@pic",fname)
sql=Replace(sql,"@n_newssort_n",n_newssort_n)
sql=Replace(sql,"@content_1",content_1)
sql=Replace(sql,"@n_ad_n",n_ad_n)

'on error resume next
response.Write(sql)
rs.open sql,conn,3
response.write "数据输入完成!"
response.Redirect("news.asp")
有什么办法可以处理吗?我把'@content_1'变为' "&" '@content_1 "&" ' 也不行!
展开
 我来答
殒尘
2011-04-18 · TA获得超过473个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:367万
展开全部
access使用单引号来识别一段字符串,如果你保存字符串里包含单引号,就会造成错误
如'abd'ssss'abc',中间的ssss就会识别错误,导致正串出错
所以保存前,要对单引号进行转义,方法就是 在单引号前使用\
追问
能说的明白点吗?如何加,加在那里?具体点,谢谢
追答
比如你这个变量n_title_s,里边的字符串值是这样的
abd'ssss'abc,你要进行转义,改成这样abd\'ssss\'abc,
因为要照这样传给数据库的,所以要对\在程序里再进行转义
所以最终要改成这样abd\\'ssss\\'abc,这是java里的,不知道你
asp是否如此,你两样都试下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式