【问题标题】:java if statment is not working with mysqljava if 语句不适用于 mysql
【发布时间】:2018-08-23 22:38:30
【问题描述】:

谁能告诉我为什么 if 语句的部分不起作用?但其他工作完美吗?应该是(如果管理员表中没有任何内容(用户名=varchar,密码=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());
    }

 }

【问题讨论】:

  • 您是否尝试调试它并查看passwordusername 的值是什么?
  • 你绝对应该开始使用调试器和一些代码格式化。
  • @Stultuske 完全正确,但如果查询是这样的 select username, password from adminstrator 和 * 我认为很奇怪,表中包含的不仅仅是用户名和密码
  • @dana 您在此期间检查过这些值吗?

标签: java mysql jdbc resultset


【解决方案1】:

我建议使用 count 函数选择数据库中有多少管理员,然后检查它是否为 0。

【讨论】:

    【解决方案2】:

    改变

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-05-28
      • 2023-04-03
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多