ResultSet 和 if Statment Java 首次登录



我想创建这个任务,当管理员第一次使用此程序时,他必须注册,但第二次他不必注册,因为他已经注册了,他必须登录..我尝试从数据库中检索用户名和密码,然后比较结果集,如果结果集为空,则让注册类打开,否则打开登录表单......但我没有工作。问题出在哪里???

@Override
public void mouseClicked(MouseEvent me) {
    Object click = me.getSource();
    if (click == buttonAcoutUS) {
        new AboutUs();
        dispose();
    } else if (click == buttonAdmin) {
        ifIDExit();
        dispose();
    } 
}
 public void ifIDExit(){
    Connection con =myConnection.getConnection();
    PreparedStatement ps;
    ResultSet rs;
    try {
        ps=con.prepareStatement("SELECT * FROM `adminstrator` ");
        rs=ps.executeQuery();
        rs.next();
        if (rs.equals("")) {
               new newRegister();
        }
        else {
            new AdminLogin();
        }
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}
}

rs.next();只是将光标从其当前位置向前移动一行(在本例中为第一行,因为最初光标位于第一行之前(。

要从结果集中检索字符串,请使用 ResultSet.getString(int columnIndex) 。因此,不应使用 SELECT *,而应命名查询中的所有列。

根据您的数据库模型,这可能会起作用(或至少为您提供正确的想法(:

 ps = con.prepareStatement("SELECT username, password FROM adminstrator");
 rs = ps.executeQuery();
 while (rs.next()) { //loop through results
    String un = rs.getString(1); //first column is 1
    String pw = rs.getString(2);
    //... compare strings to something
 }

有关结果集的详细信息,请参阅此处。

相关内容

  • 没有找到相关文章

最新更新