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

[求助]INSERT INTO出错

林新程 发布于 2007-08-27 13:13, 888 次点击
我是新手,看了半天没看出来!
<%
name=request("name")
password=request("password")
rt=request("rt")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("wangba.mdb")
Conn.Open
' 建立Recordset对象并以追加记录方式打开数据表admin
set rs=server.createobject("adodb.recordset")
set rs1=server.createobject("adodb.recordset")
sql="select * from admin where name='"&name&"'"
rs.Open sql,conn,1,1
if rs.EOF or rs.bof then
rs1.Open "admin",conn,3,4
exec="insert into admin(name,password,rt)values('"+name+"','"+password+"','"+rt+"')"
conn.execute exec
%>

错误类型:
Microsoft JET Database Engine (0x80040E14)
INSERT INTO 语句的语法错误。
/789/10/123/addnewuser.asp, 第 18 行
10 回复
#2
qhscqb2007-08-27 13:40
你将+变为&amp;
#3
林新程2007-08-27 13:44

变了也不行,还是报这个错误!

#4
Kettyjin19832007-08-27 14:12

少了end if

#5
Kettyjin19832007-08-27 14:17
<%
name=request("name")
password=request("password")
rt=request("rt")
Set Conn = Server.CreateObject("ADODB.Connection")
Constr="Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("wangba.mdb")
Conn.Open =constr
set rs=server.createobject("adodb.recordset")
sql="select * from admin where name='"&name&"'"
rs.Open sql,conn,1,1
if rs.EOF or rs.bof then
rs.close
set rs = nothing
conn.close
set conn = nothing
Set Conn = Server.CreateObject("ADODB.Connection")
Constr= "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("wangba.mdb")
Conn.Open =constr
conn.execute("insert into admin(name,password,rt)values('"&name&"','"&password&"','"&rt&"')")
conn.close
set conn = nothing
end if
%>
#6
林新程2007-08-27 14:46
<!--#include file="conn.asp" -->
<%
name=request("name")
password=request("password")
rt=request("rt")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("wangba.mdb")
Conn.Open
' 建立Recordset对象并以追加记录方式打开数据表admin
set rs=server.createobject("adodb.recordset")
set rs1=server.createobject("adodb.recordset")
sql="select * from admin where name='"&name&"'"
rs.Open sql,conn,1,1
if rs.EOF or rs.bof then
rs1.Open "admin",conn,3,4
exec="insert into admin(name,password,rt)values('"+name+"','"+password+"','"+rt+"')"
conn.execute exec
%>
<script language="vbscript">
alert ("用户信息添加成功!!!!")
window.location.href = "index.asp"
</script>
<%
rs1.close
set rs1=nothing
else
%>
<script language="vbscript">
alert ("用户名重复!!!")
history.back
</script>
<%
end if
end if
rs.Close
set rs=nothing
%>

这是我全部代码,你帮我看看,谢谢
#7
qhscqb2007-08-27 14:59
rs1.Open "admin",conn,3,4
admin是一个sql查询吗?
#8
qhscqb2007-08-27 15:03
我想问题可能出在name此字段上,因为它是sql的保留字,你改成adminName试一下,还有password改成PSword
#9
hmhz2007-08-27 15:21

不懂这句什么意思
rs1.Open "admin",conn,3,4

#10
Kettyjin19832007-08-27 15:44
同意楼上的说法.在name此字段上,因为它是sql的保留字,你改成adminName试一下,还有password改成PSword.
#11
林新程2007-08-27 16:11
呵呵,就是字段出错了,该了下好了,谢谢大家!
1