如果station不使用mysql,则使用java

如果station不使用mysql,则使用java,java,mysql,jdbc,resultset,Java,Mysql,Jdbc,Resultset,有人能告诉我为什么if语句的部分不起作用吗?但其他的方法能完美地工作吗?它应该是(如果管理员表中没有任何内容是(username=varchar,,password=varchar),那么让管理员自己注册 if (click == buttonAdmin) { Connection con =myConnection.getConnection(); PreparedStatement ps; ResultSet rs; try { ps=con.

有人能告诉我为什么if语句的部分不起作用吗?但其他的方法能完美地工作吗?它应该是(如果管理员表中没有任何内容是(username=varchar,,password=varchar),那么让管理员自己注册

if (click == buttonAdmin) {
    Connection con =myConnection.getConnection();
    PreparedStatement ps;
    ResultSet rs;
    try {
        ps=con.prepareStatement("SELECT * FROM `adminstrator` ");
        rs=ps.executeQuery();

        while (rs.next()) {
         String username = rs.getString(1);
         String password = rs.getString(2);           

         if ( password.equals("") && username.equals("")) {
               new AdminNewRegister();                
         }
         else {
            new AdminLogin();
            System.out.println("else");
         }           
       }  
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

 }

我建议使用计数功能选择数据库中的管理员数量,然后检查是否为0。

更改为

    if ( password.equals("") && username.equals("")) {
       new AdminNewRegister();                
    }


希望这能解决您的问题。祝您一切顺利:)

您是否尝试过调试它,并查看
密码和
用户名的值是什么?您肯定应该开始使用调试器和一些代码格式。@Stultuske完全正确,但如果查询是这样的
选择用户名,来自adminstrator的密码
with*我觉得很奇怪,表中包含的不仅仅是用户名和密码password@dana您是否同时检查了这些值?可能重复
    if ( password.isEmpty() && username.isEmpty()) {
           new AdminNewRegister();                
    }