注册 登录
编程论坛 ASP技术论坛

向高手们请教~~~HELP

rtyeuy 发布于 2008-04-17 09:24, 1281 次点击
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into ee(name,tel,message) values('"+name+"',"+tel+",'"+message+"')"
conn.execute exec
conn.close
set conn=nothing
response.write "记录添加成功!"
%>

显示错误:
[Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。

我研究了很旧都不清楚哪里错了~~~~同志们!!!HELP
10 回复
#2
caor19872008-04-17 15:31
不知道对不对
+好象是JS里的变量用的吧,
这样试试
exec="insert into ee(name,tel,message) values('"&name&"',"&tel&",'"&message&"')"
#3
frankqnj2008-04-17 16:39
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")

这里好象少个"
#4
tianyu1232008-04-17 17:08
[bo]以下是引用 [un]caor1987[/un] 在 2008-4-17 15:31 的发言:[/bo]

+好象是JS里的变量用的吧,
这样试试
exec="insert into ee(name,tel,message) values('"&name&"',"&tel&",'"&message&"')"


+ & 都可以用做连字符 但最好用&
#5
rtyeuy2008-04-17 19:34
最终还没解决!  请求支援!!!!!!!
#6
ysm1402008-04-17 19:58
你可试着将exec  response.write 出来看看到底是什么样子。
tel是数值型?
exec="insert into ee([name],tel,message) values('"&name&"','"&tel&"','"&message&"')"

试下
#7
hmhz2008-04-17 21:19
两种解决办法
一种数据库连接方式改动:
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
改成
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source="&Server.MapPath("example3.mdb")

二种添加程序的方式改动:
exec="insert into ee(name,tel,message) values('"+name+"',"+tel+",'"+message+"')"
conn.execute exec
改成
Set rs=server.createobject("adodb.recordset")
rs.Open "select * from ee",conn,3,3
rs.AddNew
rs("name")=name
rs("tel")=tel
rs("message")=message
rs.Update
rs.close
set rs=nothing
#8
rtyeuy2008-04-18 10:46
版主厉害啊!! 可以解释一下。为什么吗?
#9
yms1232008-04-18 15:20
Set rs=server.createobject("adodb.recordset")
rs.Open "select * from ee",conn,3,3
rs.AddNew
rs("name")=name
rs("tel")=tel
rs("message")=message
rs.Update
rs.close
set rs=nothing
个人也比较偏向这种方式添加数据利用RecordSet自身方法添加数据,减少SQL语句拼写出错的机会。
#10
子夜老狼2008-04-18 23:52
学习一下
#11
chenzr2008-04-19 17:40
[bo]以下是引用 [un]hmhz[/un] 在 2008-4-17 21:19 的发言:[/bo]

两种解决办法
一种数据库连接方式改动:
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")
改成
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source="&Server.Ma ...

支持支持
1