INSERT INTO 语句的语法错误。

<%
set conn=server.createobject("adodb.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db1.mdb")

id=request.Form("id")
name=request.Form("name")
dept=request.Form("dept")
position=request.Form("position")
data=request.Form("data")
exec="insert into hr(id,name,dept,position,data)values('"+id+"','"+name+"','"+dept+"','"+position+"','"+data+"')"
conn.execute exec
conn.close
set conn=nothing
%>
<%="恭喜!数据添加成功!"%>

提示:
技术信息(用于支持人员)

错误类型:
Microsoft JET Database Engine (0x80040E14)
INSERT INTO 语句的语法错误。
/bff/add.asp, 第 20 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

网页:
POST 51 ??? /bff/add.asp

POST Data:
id=&name=&dept=&position=&data=&submit=%CC%E1%BD%BB

时间:
2009年4月9日, 11:50:06

第1个回答  2009-04-09
exec="insert into hr(id,name,dept,position,data)values('"+id+"','"+name+"','"+dept+"','"+position+"','"+data+"')"

看你的语句,一般来说,Access数据库的ID都是自动编号的,无法用INSERT语句插入。修改一下
exec="insert into hr(name,dept,position,data)values('"+name+"','"+dept+"','"+position+"','"+data+"')"

另外注意一下,ACCESS的数值型、布尔型不需要单引号
第2个回答  2009-04-09
exec="insert into hr(id,name,dept,position,data)values('"+id+"','"+name+"','"+dept+"','"+position+"','"+data+"')"
改成
exec="insert into hr([id],[name],[dept],[position],[data])values('"+id+"','"+name+"','"+dept+"','"+position+"','"+data+"')"

可以肯定的是name是access的保留字.所以要加[].为了百分之百的准确,所有的字段名都加上[]本回答被提问者采纳
第3个回答  2009-04-09
把 exec 打印到网页上,把语句放到数据库中看看能否执行通过。

INSERT INTO 语句的语法错误。
Insert INTO 语句的语法错误。该错误是由一下原因造成的:1)将保留字用作名称。大多数数据库都有一组保留字。例如,"name"是保留字,因而不能用于数据库中的列名称。2)名称中使用特殊字符。特殊字符的示例包括: . \/ * : ! # & - ?3)在列名称中使用空格。4)当为数据库中的对象定义了输入掩...

INSERT INTO 语句的语法错误。
语句有误,语法应为:INSERT INTO bx (字段列表) VALUES (值列表)。Dim CmdStr As String = "Insert Into local Values ('" & mc & "','" & dz & "''" & dh & "','" & bxtime & "','" & wxtime & "','" & bx & "','" & xc & "','" & bz & "','" & jg...

INSERT INTO 语句的语法错误。
数据类型错误

INSERT INTO 语句的语法错误。
有可能是 数据库表中的字段类型与插入的数据类型不一致 比如说 表字段设置为int型 插入的却是字符串 或者 长度过长 异常处理时没有针对性的捕捉 系统不允许插入 错误就在insert处体现了

INSERT INTO 语句的语法错误?
insert into当中多了into,弃掉into就可以了。因为insert是及物动词,直接接宾语,不需要介词。

INSERT INTO 语句的语法错误。
INSERT INTO 在ACCESS的实际使用中时,如果语法正确缺始终出错。最大的可能性是因为字段名使用了系统保留关键字的原因。比如year, month, day, password等,此时只要在关键字上加方括号[]即可。如这段语句: INSERT INTO T_DEMO([password],[year]) VALUES(admin,2008)

insert into 语句的语法错误,帮我看看
重新编辑楼上 如果MM_dbValues是字符串型,那么插入时要用单引号,如:MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values ('" & MM_dbValues & "')"还有一个可能就是其他字段不允许为空,同时又没有默认值。导致插入时错误。意思是现在插入时只插入...

INSERT INTO 语句的语法错误
是SQL语法错误,这是Access数据库的问题,错误出现在这里。insert into [user](id,password,[name],birthday,telephone,e-mail)表名是Access里的关键字,你已经加了方括号,name和password也是关键字,所以也要加上方括号。还有,e-mail,最好不要加上减号。要写成这样也行,email...以免出现语法错误...

INSERT INTO 语句的语法错误
1.有可能是 [Address] 字段写法,看看不要中括号;2.有可能是 agx2004 说的 Birth 字段如果是日前类型,value 应该转换成日期类型而不是输入字符串;比如在 oracle中,用to_date(valuestr,'yyyy-mm-dd hh24:mi:ss') 将valuestr 转换成日期类型插入。

insert into 语法错误,求帮助
你这一段程式都没有用到insert的操作,从你的语句来看,你是使用了DS的Add属性增加了一笔记录,再update DS。所以你把Ada.InsertCommand = Builder.GetInsertCommand(); 改成Ada.updateCommand = Builder.GetupdateCommand();即可。你的表是否有not null的设定,是否因为输入字符不符合约束而造成插入异常...

相似回答
大家正在搜