asp程序调试问题

来源:百度知道 编辑:UC知道 时间:2024/04/20 12:42:52
请教真正的ASP程序员
本人最近碰到段奇怪的程序,无论怎么调试和检查老是出错,希望是ASP程序员的兄弟们不吝指教。

reg.asp:
<!--#include file="conn.asp"-->
<%
dim a,b,sql
a=request("username")
b=request("password")

sql="insert into reg_user(name,password)values('"&a&"','"&b&"')"
conn.execute (sql)
response.Write("注册成功")
conn.close
set conn=nothing
%>

CONN.ASP:
<%
dim conn,dbpath,connstr
dbpath="data/user.mdb"
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(dbpath)
conn.open connstr
%>

出现的错误为:
Microsoft JET Database Engine 错误 '80040e14'

INSERT INTO 语句的语法错误。

/login/reg.asp,行 9

以前我做网页也是用insert into 的...老出错...
后来就用 rs.addnew 和rs.update 语句了..这样很简单的....
set rs=server.CreateObject("adodb.recordset")
rs.open"select*from reg_login ",cn,3,3
rs.addnew
rs("name")=值
rs("password")=值
rs.update

这样很方便...................

很明显SQL语句错误,,

sql="insert into reg_user(name,password) values('"&a&"','"&b&"')"

values前加空格

SQL语句错误
检查reg_user表的name,password两个字段看看是不是不允许为空,如果不允许为空,查看a,b两个变量的值是否为空,如果为空一定出错。

你看看你的数据表reg_user中有没有不允许为空的字段,
你可以用
Response.write(sql)
Response.end()
来打印一下sql
把打印出来的语句拷到查询分析器中运行,如果不能过肯定是sql语句的问题了!

还有你的关闭数据库连接对象还缺少set rs=nothing

name
使用了Access保留字&变量名