回 帖 发 新 帖 刷新版面

主题:来,一个简单的用户注册代码,帮我看下~

这是网上常见的,还判断了用户名是否已经被注册:
dim sql,rs
  sql="select * from [user] where username='" & username & "'"
  set rs=server.createobject("adodb.recordset")
  rs.open sql,conn,1,3
  if not(rs.bof and rs.eof)
  then
    error=true
    errmsg=errmsg & "
<li>你注册的用户已经存在!请换一个用户名再试试!</li>"
  else
    rs.addnew
    .....    
    rs.update
    .....
在以上代码的基础上,如果我不想判断用户名是否被注册,那是不是这样就可以了:
dim rs
  set rs=server.createobject("adodb.recordset")
  rs.open conn,1,3
  rs.addnew
  .....    
  rs.update
  .....
这样对吗?

回复列表 (共4个回复)

沙发

不对:
单看这句话:rs.open conn,1,3  语法正确吗?
应该是 rs.open sql语句, conn,1,3

你如果直接插入记录 并且不用insert语句的话 先定义sql 语句把数据库所有记录取出来
sql = "select * from [user]";
然后在此基础上添加记录

板凳

[quote]不对:
单看这句话:rs.open conn,1,3  语法正确吗?
应该是 rs.open sql语句, conn,1,3

你如果直接插入记录 并且不用insert语句的话 先定义sql 语句把数据库所有记录取出来
sql = "select * from [user]";
然后在此基础上添加记录
[/quote]
哦 这样讲的话,我比较懂了,也就是说rs.open操作的对象或者基础,应该是由sql来指定的,所有的操作都是在sql指定内容的基础上完成的,这样的话,第一段代码里面sql就指定的是用户名为username的数据集合,这样的集合,只有两种可能,一种可能是存在不为空,那么就说明用户名被占用,于是停止想数据库里面写入数据,另外一种可能就是这样的集合是空集,表示该用户名没有被占用,于是在这个空集的基础上执行rs.addnew来填加记录,这样理解对吗?

3 楼

是的!

4 楼

再次感谢!

我来回复

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