说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Access为什么不能实现用户注册?

编辑:说三道四文库 发布时间:2018-07-16 03:46
HTML文档下载 WORD文档下载 PDF文档下载
我在同一目录下有三个文件:
Regist.asp
RegComplete.asp
Customer.mdb

其中两个asp内容如下:

Regist.asp:
-------------------------------------------
<%@ Language=VBScript %>
<%
  Response.Buffer=True
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<link rel="stylesheet" type="text/css" href="aspCss.css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<Style>
  .inkey{height:20px;border-left:#c0c0c0 1px solid;border-top:#c0c0c0 1px solod;border-right:#c0c0c0 1px solid;border-bottom:#000000 1px solid;background-color:#d1d1d1}
  A{COLOR: #b22222;TEXT-DECORATION: none}
</Style>
<Title>用户注册</Title>
</HEAD>
<Script Language=VBScript>
  Function Checkit()
    If Trim(Form1.User.value)="" Then
      MsgBox "请输入用户名!"
      Exit Function
    End If
    If Trim(Form1.PassWord.value)="" Then
      MsgBox "请输入密码!"
      Exit Function
    End If
    If Trim(Form1.PassWord2.value)<>Trim(Form1.PassWord.value) Then
      MsgBox "确认密码与密码不符!"
      Exit Function
    End If
    Form1.submit()
  End Function
</Script>
<BODY bgcolor=#8bafd8>
<DIV class=outborder style="POSITION: absolute; TOP= 8px">
  <DIV class=inborder style="width: 598; height: 113">
    <DIV class=title1 style ="WIDTH:  100%;background-color:#8aa37f" >
      <Center>用户注册</Center>   
    </Div>
    <Center>
    <Form Name=Form1 Id=Form1 Method="Post" Action="RegComplete.asp">
    <Table Border=0 Cellpadding=0 Cellspacing=0 Width=90%>
      <TR>
        <TD></TD> 
      </TR>
    </Table>
    <fieldset style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; WIDTH: 98%; PADDING-TOP: 10px">
      <Table Border=1 Cellpadding=0 Cellspacing=0 Width=324 height="22">
        <TR>
          <TD  width="384" height="25">用户名:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
            <Input Type=Text Size=20 Maxlength=20 Name="User" Id="User" class=inkey style="width: 232; height: 20">&nbsp;&nbsp;</TD> 
        </TR>
        <TR>
          <TD  width="384" height="25">密码:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    
            <Input Value="" Name="PassWord" Id="PassWord" size=8 Maxlength=20 class=inkey style="width: 233; height: 20"></TD>
        </TR>
        <TR> 
          <TD width="384" height="25">确认密码:&nbsp; <Input Value="" Name="PassWord2" Id="PassWord2" size=8 Maxlength=20 class=inkey style="width: 232; height: 20"></TD>     
        </TR>
        <TR> 
          <TD width="384" height="25">电子邮箱:&nbsp; <Input Value="" Name="Email" Id="Email" size=8 Maxlength=20 class=inkey style="width: 233; height: 20"></TD>     
        </TR>
      </Table>
    </fieldset>
    <BR>
    <Input Type=Button Value="确认" Onclick="Checkit()" name="OK">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
    <Input Type=Button Value="取消" Onclick="window.close()" name="Cancel"><BR>
    </Form>
    </Center>
  </Div>
</Div>
</BODY>
</HTML>
-------------------------------------------

RegComplete.asp:
-------------------------------------------
<%@ Language=VBScript %>
<%
  Response.Buffer=True
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<link rel="stylesheet" type="text/css" href="aspCss.css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<Style>
  .inkey{height:20px;border-left:#c0c0c0 1px solid;border-top:#c0c0c0 1px solod;border-right:#c0c0c0 1px solid;border-bottom:#000000 1px solid;background-color:#d1d1d1}
  A{COLOR: #b22222;TEXT-DECORATION: none}
  .showfont{color:#3c3ac6}
</Style>
<Title>注册完成</Title>
</HEAD>
<BODY bgcolor=#8bafd8>

<%
  Dim Conn,StrSql,ObjRS
  Dim StrConn,sDB
  
  Set Conn=Server.CreateObject("ADODB.Connection")
  
  sDB="Customer.mdb"
  StrConn="provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath(sDB) 
  
  Conn.Open StrConn
  Conn.Execute("Insert Into tUser (FUser,FPassWord,FEmail) Values('abc','aaa','sales@hhcomfile.com')")
%>
<DIV class=outborder style="POSITION: absolute; TOP= 8px">
  <DIV class=inborder style="width: 598; height: 100">
    <DIV class=title1 style ="WIDTH:  100%;background-color:#8aa37f" >
      注册完成 
    </Div>
    <Center>
    <BR>
    恭喜,你的注册已完成!
      <BR>
      <BR><BR>
    <input Type="Button" Value="关闭" Onclick="window.close()">
    </Center>
  </Div>
</Div>
</BODY>
</HTML>
-------------------------------------------

但是,运行后,数据库中无任何数据。为什么?
Conn.Execute("Insert Into tUser (FUser,FPassWord,FEmail) Values('abc','aaa','sales@hhcomfile.com')")

如果DB里没数据可能会有问题
如果不是更新推荐使用Addnew

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.open "SELECT * From tb_admin",Conn , 3, 3, 1
rs.addnew
rs("AdminId")=adminid
rs("AdminPwd")=AdminPwd
rs.update
rs.close
Conn.Close
set conn = nothing
set rs = nothing 
有什么错误提示没有。如果没有的话,看数据库中是不是ID号为自动编码。看看是不是有些数据不能为空,你添加了空。最好的办法还是看看你写的追加数据语句是不是有错。
数据库中的表tUser就只有这三个字段,没有自动编号的字段。
<%
  Dim Conn,StrSql,ObjRS
  Dim StrConn,sDB
  
  Set Conn=Server.CreateObject("ADODB.Connection")
  
  sDB="Customer.mdb"
  StrConn="provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath(sDB) 
  
  Conn.Open StrConn
  Conn.Execute("Insert Into tUser (FUser,FPassWord,FEmail) Values('abc','aaa','sales@hhcomfile.com')")
%>

----------------------------
这代码我测试了一下,没有问题的。你可以直接运行RegComplete.asp看一下。
数据库Customer.mdb
表:tUser
FUser,文本
FPassWord,文本
FEmail,文本


改一下你的RegComplete.asp
然后从Regist.asp,运行注册用户试一下吧.

<%
  Dim Conn,StrSql,ObjRS
  Dim StrConn,sDB
  sUser=Request("User")
  sPassWord=Request("Password")
  sEmail=Request("Email")
  Set Conn=Server.CreateObject("ADODB.Connection")
  
  sDB="Customer.mdb"
  StrConn="provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath(sDB) 
  
  Conn.Open StrConn
  Conn.Execute("Insert Into tUser (FUser,FPassWord,FEmail) Values('"&sUser&"','"&sPassWord&"','"&sEmail&"')")
%>
同意楼上的,你在注册那个页面使用Post来递交数据,但在RegComplete.asp页面却没有接受数据的代码,你都没有接受,怎么往数据库里写数据呢
呵呵,忙活了半天还是Request.Form忘了呀
没有忘记Request,我就是因为写不到数据库,才改用具体的数据来插入的。
如果边具体的数据都不能插入数据库,不是有问题吗?
原因找到,不是程序的问题,是服务器的问题。结账!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘