asp insert into插入access数据库,报80040e14。INSERT INTO 语句的语法错误,19行
<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%><!--#includefile=conn.asp--><%setconn=server....
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file=conn.asp-->
<%
set conn=server.createobject("adodb.connection")
conn.Open"provider=Microsoft.jet.oledb.4.0;data source="&Server.MapPath("data/puppet.mdb")
response.charset="utf-8"
session.codepage=65001
dim rolename,sex,nickname,versemotto,duty,identity,firststage,residence,introduce,series,imgurl
rolename=request.form("rolename")
sex=request.form("sex")
nickname=request.form("nickname")
versemotto=request.form("versemotto")
duty=request.form("duty")
identity=request.form("identity")
firststage=request.form("firststage")
residence=request.form("residence")
introduce=request.form("introduce")
series=request.form("series")
imgurl=request.form("imgurl")
imgsrc="images/"&""&imgurl
exec="insert into role(rolename,sex,nickname,versemotto,duty,identity,firststage,residence,introduce,series,imgurl)values('"&rolename&"','"&sex&"','"&nickname&"','"&versemotto&"','"&duty&"','"&identity&"','"&firststage&"','"&residence&"','"&introduce&"',"&series&",'"&imgsrc&"')"
conn.execute exec
conn.close
set conn=nothing
%>
这些字段中除了series是数字型,其他都是文本型的,我把这段查询语句拉到access查询界面运行是可以没报错的 展开
<!--#include file=conn.asp-->
<%
set conn=server.createobject("adodb.connection")
conn.Open"provider=Microsoft.jet.oledb.4.0;data source="&Server.MapPath("data/puppet.mdb")
response.charset="utf-8"
session.codepage=65001
dim rolename,sex,nickname,versemotto,duty,identity,firststage,residence,introduce,series,imgurl
rolename=request.form("rolename")
sex=request.form("sex")
nickname=request.form("nickname")
versemotto=request.form("versemotto")
duty=request.form("duty")
identity=request.form("identity")
firststage=request.form("firststage")
residence=request.form("residence")
introduce=request.form("introduce")
series=request.form("series")
imgurl=request.form("imgurl")
imgsrc="images/"&""&imgurl
exec="insert into role(rolename,sex,nickname,versemotto,duty,identity,firststage,residence,introduce,series,imgurl)values('"&rolename&"','"&sex&"','"&nickname&"','"&versemotto&"','"&duty&"','"&identity&"','"&firststage&"','"&residence&"','"&introduce&"',"&series&",'"&imgsrc&"')"
conn.execute exec
conn.close
set conn=nothing
%>
这些字段中除了series是数字型,其他都是文本型的,我把这段查询语句拉到access查询界面运行是可以没报错的 展开
2个回答
展开全部
如果错误提示是语法错误,那么貌似只有一种可能,就是表单提交的数据中含有单引号或双引号
你可以在
conn.execute exec
之前插入
response.write exec
response.end
运行后看看显示出来的字符串究竟是怎样的,是否符合sql语法
你可以在
conn.execute exec
之前插入
response.write exec
response.end
运行后看看显示出来的字符串究竟是怎样的,是否符合sql语法
更多追问追答
追问
insert into role(rolename,sex,nickname,versemotto,duty,identity,firststage,residence,introduce,series,imgurl)values('对对对','男','顶顶顶顶','顶顶顶顶','顶顶顶顶','顶顶顶顶','顶顶顶顶','顶顶顶顶','顶顶顶顶',1,'images/bonana.jpg')
追答
终于看出来了,identity是sql的内部函数,属于保留字,不能直接用作字段名,实在要用必须加方括号,即
exec="insert into role (rolename,sex,nickname,versemotto,duty,[identity],firststage,residence,introduce,series,imgurl) values ('"&rolename&"','"&sex&"','"&nickname&"','"&versemotto&"','"&duty&"','"&identity&"','"&firststage&"','"&residence&"','"&introduce&"',"&series&",'"&imgsrc&"')"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询