netbeans登录系统



我想创建一个MS Access数据库登录系统。要登录的数据在数据库中

有可能在线工作,然后填写登录详细信息。然后按OK键移动到下一个屏幕。

以及离线工作的能力,然后在用户名处输入"学生"(密码为空),然后按OK键移动到下一个屏幕。

如果凭据错误,必须给出错误,但当只填写"学生"时应该没有错误

现在的问题是,它给出了错误,因为这里输入了"学生",但他不应该给出错误。只有当登录数据错误时。我该如何解决这个问题?

代码:

/**Local*/
    try {
         String idnr = GebruikersnaamTekst.getText().trim();
         if (idnr.matches("Cursist")) {
        BasisScherm b = new BasisScherm();
            b.setVisible(true);
            setVisible(false);   
        }
    } catch (Exception e) {
    }
/**Internet*/
  try
   {
    String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(driver);
    String db = "jdbc:odbc:db1";
    con = DriverManager.getConnection(db);
    st = con.createStatement();
    }
    catch(Exception e)
    {
  }
   try
        {
        String idnr = GebruikersnaamTekst.getText().trim();
        String pass = Password.getText().trim();
        String sql = "select idnr,pass from Table1 where idnr='"+idnr+"'and pass='"+pass+"'";
        rs = st.executeQuery(sql);
           int count = 0;
        while(rs.next())
        {
            count = count + 1;
        }
          if (count == 1) {
        BasisScherm b = new BasisScherm();
            b.setVisible(true);
            setVisible(false);   
        }
        else 
        {
            JOptionPane.showMessageDialog(null, "Gebruiker niet gevonden!");
        }
        }
        catch(Exception ex )
        { 
        }


}  

你正在寻找它成功,如果你匹配正确的"学生"对吗?

这可能是大小写敏感的问题,试试这个

if (idnr.toLowerCase().matches("cursist"))

计算结果为true,不区分大小写。

就程序流程而言,如果它们在同一个类或main()函数中,则无论本地结果如何,它都将执行Internet,这也可能引入错误。

创建一个全局布尔变量。确认你已经完成了学生检查完整代码:

/**Local*/
boolean isStudent = false;
    try {
         String idnr = GebruikersnaamTekst.getText().trim();
         if (idnr.matches("Cursist")) {
        BasisScherm b = new BasisScherm();
            b.setVisible(true);
            setVisible(false);   
            isStudent=true;
        }
    } catch (Exception e) {
    }
if(!isStudent)
{
/**Internet*/
  try
   {
    String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    Class.forName(driver);
    String db = "jdbc:odbc:db1";
    con = DriverManager.getConnection(db);
    st = con.createStatement();
    }
    catch(Exception e)
    {
  }
   try
        {
        String idnr = GebruikersnaamTekst.getText().trim();
        String pass = Password.getText().trim();
        String sql = "select idnr,pass from Table1 where idnr='"+idnr+"'and pass='"+pass+"'";
        rs = st.executeQuery(sql);
           int count = 0;
        while(rs.next())
        {
            count = count + 1;
        }
          if (count == 1) {
        BasisScherm b = new BasisScherm();
            b.setVisible(true);
            setVisible(false);   
        }
        else 
        {
            JOptionPane.showMessageDialog(null, "Gebruiker niet gevonden!");
        }
        }
        catch(Exception ex )
        { 
        }
}  }//end if

相关内容

  • 没有找到相关文章

最新更新