为什么用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 "&" ' 也不行! 展开
语句为:
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 "&" ' 也不行! 展开
1个回答
展开全部
access使用单引号来识别一段字符串,如果你保存字符串里包含单引号,就会造成错误
如'abd'ssss'abc',中间的ssss就会识别错误,导致正串出错
所以保存前,要对单引号进行转义,方法就是 在单引号前使用\
如'abd'ssss'abc',中间的ssss就会识别错误,导致正串出错
所以保存前,要对单引号进行转义,方法就是 在单引号前使用\
追问
能说的明白点吗?如何加,加在那里?具体点,谢谢
追答
比如你这个变量n_title_s,里边的字符串值是这样的
abd'ssss'abc,你要进行转义,改成这样abd\'ssss\'abc,
因为要照这样传给数据库的,所以要对\在程序里再进行转义
所以最终要改成这样abd\\'ssss\\'abc,这是java里的,不知道你
asp是否如此,你两样都试下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询