asp错误问题急求帮忙,奖50分

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:28:40
编写了一个简单的用户注册页面register.asp 包括表单f_user(用户名),f_code(密码),f_age(年龄),f_sex(性别),
并且将register.asp表单传送给result.asp处理

建立一个数据库包括两个表user表和info表

user表存储用户名和密码,包括的字段u_user(用来存表单的f_user)和u_code (用来存表单的f_code)

info表存储用户信息,包括字段i_uid,i_uid,i_sex,i_age,i_vip

result.asp处理页面的程序如下:

<!-- #include file="db.inc.asp" --> ‘db.inc.asp连接数据库文件正常!
<html>
<head>

<% set rst=server.CreateObject("adodb.recordset")
rst.open"select * from user where u_user='" & request.Form("f_usesr") & "'",conn,1,1
if rst.recordcount>0 then
response.Write "用户名:" & request.Form("f_user") & "已经被占用!请返回!"
rst.close
set rst=nothing
conn.close
set conn=nothing
response.End()
else
rst.close
rst.open"user",conn,1,3
rst.addnew
rst("u_user"

<%
'...接楼主资料
if rst.recordcount>0 then'楼主这裏不对,改为if not rst.recordcount>0 then
response.Write "用户名:" & request.Form("f_user") & "已经被占用!请返回!"
rst.close
'...接楼主资料
%>

'备注说明:
if not rs.eof then'表示记录集中有资料
'......
else'表示记录集没有资料就新增一笔
'......
end if

info表里的uid是user表里的id数字型还是f_user字符串型?
如果是自动编号的id,那么你在同一个页面没办法获取刚添加到数据库的新记录ID,要再分一个页面让他自动跳转到那儿添加新记录到info表里,如果uid是f_user,那么就好办.

set rst=nothing
conn.close
set conn=nothing
response.End()
把前面这几句删了,特别是conn,你都关了,下面还怎么用它?

不晓得哪错了

rst.addnew
rst("u_user")=request.Form("f_user")
rst("u_code")=request.Form("f_code")
rst.update

你改用INSERT语句,应该就可以了