2 u010089114 u010089114 于 2016.01.23 13:33 提问

java注册时检查用户名有没有被注册

sql语句是这样写的String sql2="SELECT count(*) from 表名 where name='"+账号名+"'";
然后执行sql并判断
rs=stmt.executeQuery(sql2);
if(rs==null){
System.out.print("未注册");
addData();

    }else{
        System.out.print("已注册");
    }
    我这样判断是错的,因为没有注册过的账号都是已注册的。请问要怎么写才能正确检测有没有被注册呢

4个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.23 14:00
已采纳

首先,你这个rs是查询返回的ResutSet对象,不可能为空的;
其次,判断是否查到结果是通过这个查询结果的值是否为0,你查询的是count,如果查到数据就是1,没有就是0。
所以你的判断不对,修正代码如下:

 rs=stmt.executeQuery(sql2);
 if(rs.next()){
     int count = rs.getInt();
         if(count==0){
              System.out.print("未注册");
         addData(); 
         }else{
        System.out.print("已注册");
    }
    }else{
          System.out.print("没有查询到记录");
    }

因为你是select count操作,所以肯定会返回一条记录的,如果要通过是否查找记录判断,应该是select name from xx where name=''
这样如果没有next说明没查到。

wojiushiwo945you
wojiushiwo945you 回复u010089114: 这个就是ResultSet提供的方法,直接取到查询结果的方法。
接近 2 年之前 回复
u010089114
u010089114 你这个getInt()怎么没有参数
接近 2 年之前 回复
enpterexpress
enpterexpress   2016.01.23 14:02
cknckn
cknckn   2016.07.20 18:36

那个问下,后面要+name?么?!

cknckn
cknckn   2016.07.20 18:36

那个问下,后面要+name?么?!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!