回 帖 发 新 帖 刷新版面

主题:注册信息为什么不能写入到数据库?

[em1]
各位老大,不知为什么这段代码不能向数据库里写入数据(数据库里什么都没有),也不提示任何错误!请帮忙解答啊!急!
代码如下:

<!--#include file="admin/conn.asp"-->
set rs=server.createobject("adodb.recordset")
sql="select * from huiy"
rs.open sql,conn,3,3
rs.addnew
rs("u_name")=request.form("u_name")
rs("u_pwd")=request.form("u_pwd")
rs("u_phone")=request.form("u_phone")
rs("u_email")=request.form("u_email")
rs("u_question")=request.form("u_question")
rs("u_answer")=request.form("u_answer")
rs.Update
rs.close
set rs = nothing
conn.close
set conn=nothing
response.write "<script language='javascript'>"
response.write "alert('恭喜,注册成功!请单击“确定”登陆本站。');"
response.write "</script>"
response.write "<meta http-equiv=refresh content='0;URL=index.asp'>"

回复列表 (共21个回复)

沙发

咋看都不像有问题呀????
速请给为帮忙啊!

板凳

rs.open sql,conn,3,3 改为rs.open sql,conn,1,3试一下,再不行把提交页面贴上看看

3 楼


改成这个也不行
rs.open sql,conn,1,3

4 楼

有没有提示什么错误?

5 楼

提示正常:
恭喜,注册成功!请单击“确定”登陆本站。
然后就进入首页面了.
但是,打开数据库里任何东西都没有.
真是奇怪的很.呵呵.

6 楼

<!--#include file="admin/conn.asp"-->
<%
set rs=server.createobject("adodb.recordset")
sql="insert into huiy(u_name,u_pwd,u_phone,u_email,u_question,u_answer) values('"&request.Form("u_name")&"','"&request.Form("u_pwd")&"','"&request.Form("u_phone")&"','"&request.Form("u_email")&"','"&request.Form("u_question")&"','"&request.Form("u_answer")&"'"
reponse.write sql
response.end
rs.open sql,conn,1,3
response.write "<script>alert('恭喜,注册成功!请单击“确定”登陆本站。');location.href=index.asp;</script>"
response.End
Set conn=nothing
%>
先改成这样,然后看看输出的是什么?如果正常,然后去掉这两句
reponse.write sql
response.end
后,运行,再看看数据库中是否有记录。
如果没有,你将
reponse.write sql
response.end
改成
reponse.write conn
response.end
看看数据库的路径是否正确

7 楼

wangsdong,您好!
按照您的做法,确认提交之后,页面空白.也就是说,程序好像执行不到"恭喜,注册成功",此时,数据库里依然没有数据.
换成response.write conn后,页面显示了数据库的物理路径(是正确的路径).呵呵,真是想不通啊

8 楼

不过,奇怪的是,我的后台管理员帐号可以添加.使用的同一个数据库,只是表不同而已.
代码如下:
<!--#include file="Conn.asp"-->
dim password,uid,rs,sqltext
password=replace(trim(Request("ad_pw1")),"'","")  
uid=replace(trim(Request("ad_id")),"'","")
set rs=server.createobject("adodb.recordset")
sqltext="select * from admin where admin_name='"&uid&"'and admin_pass='"&password&"'"
rs.open sqltext,conn,1,1
'查找数据库,检查此管理员是否已经存在
if rs.recordcount >= 1  then
  if rs("Admin_name")=uid then
    response.write "<script language='javascript'>"
    response.Write "alert('对不起,帐号已存在,请选用其他名称!');"
    response.write "location.href='javascript:history.go(-1)';"    
    response.write "</script>" 
    response.end
  end if
end if

set rs=server.createobject("adodb.recordset")
rs.open "select * from admin",conn,3,3
'添加一个管理员帐号到数据库
rs.addnew
rs("Admin_name")=request.form("ad_id")
rs("Admin_pass")=request.Form("ad_pw1")
rs("admin_creatTime")=now()
rs.update
Response.Redirect "ad_add.asp"

rs.close
set rs=nothing
%>

9 楼

是的,我的那段程序是用来看sql语句的,你检查一下sql语句是否正确。
如果正确,你去掉
response.write sql
response.end
这两句,再运行一次,看看数据库中有没有数据。

10 楼

这样,我把部分代码贴出来,老大帮我分析一下:
注册页面文件:u_regist.asp
<form language="javascript" name="form2" method="post" action="u_regsave.asp" onSubmit="return CheckReg()"> '交给u_regsave.asp来处理.
<input name="u_name" type="text" class="login" id="name">
<input name="u_pwd1" type="password" class="login" id="u_pwd1">
<input name="u_pwd2" type="password" class="login" id="u_pwd2">
<input name="u_question" type="text" class="login" id="u_question" size="40">
<input name="u_answer" type="text" class="login" id="u_answer" size="40">
 <input name="u_email" type="text" class="login" id="u_email" size="30">
<input name="u_compay" type="text" class="login" id="u_compay" size="40">
<input name="u_http" type="text" class="login" id="u_http" value="http://" size="40">
 <input name="u_code" type="text" class="login" id="u_code">
<input name="u_phone" type="text" class="login" id="u_phone" size="30">
 <input type="submit" name="submit" value="提交">
<input name="submit1" type="Reset" id="submit1" value="重填">
</form>

我来回复

您尚未登录,请登录后再回复。点此登录或注册