开发者社区> 问答> 正文

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

sql语句是这样写的

screenshot

然后执行sql并判断

screenshot

我这样判断是错的,因为没有注册过的账号都是已注册的。请问要怎么写才能正确检测有没有被注册呢

展开
收起
吴孟桥 2016-06-16 18:02:32 2294 0
1 条回答
写回答
取消 提交回答
  • 首先,你这个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说明没查到。

    2019-07-17 19:41:41
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载