日期:2014-05-18  浏览次数:20697 次

不能正确检测重复帐号???
<Input   type= "text "   name= "username "   Width= "120 "   MaxLength= "25 "   style= "inputcss "   />
请问为什么下面的语句不能正确检测重复帐号(所有重复帐号都注册成功了)???
<%
      String   username=request.getParameter( "username ");
      Userloginbean   usb=new   Userloginbean();
      String   sql= "select   *   from   Blog   where   Username= ' "+username+ " ' ";        
      ResultSet   rs=usb.query(sql);
      int   rows=0;
      while(rs.next()){
              rows++;
}
if(rows> 0)
{%>
<script   language= "JavaScript ">  
alert( "用户名已存在,请重新输入! ");
history.back();
</script>
<%
      }else{
}

%>

------解决方案--------------------

int rows=0;
rows++;
if(row> 0)
删除
你这里没有理解rows++的意思
其实在你做if(row> 0)此时rows=0在完成判断后rows=1
------解决方案--------------------
楼主应该先确定问题出在哪里:数据库有没有链接成功、sql语句有没有执行、select ... 有没有搜出结果,rs取出来都是什么。。。这些都正确么?
------解决方案--------------------
为什么要rows++;?
rows.size();直接判断不就可以了么?

这样的检测重复值最好是用Ajax做体验感强
------解决方案--------------------
如果在数据库连接没有问题的情况下,
<Input type= "text " name= "username " Width= "120 " MaxLength= "25 " style= "inputcss " />
请问为什么下面的语句不能正确检测重复帐号(所有重复帐号都注册成功了)???
<%
String username=request.getParameter( "username ");
Userloginbean usb=new Userloginbean();
String sql= "select * from Blog where Username= ' "+username+ " ' ";
ResultSet rs=usb.query(sql);
if(rs.next()){
%>
<script language= "JavaScript ">
alert( "用户名已存在,请重新输入! ");
history.back();
</script>
<%
}
%>