Система входа в NetBeans - PullRequest
1 голос
/ 10 ноября 2011

Я хочу создать систему входа в систему с базой данных 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 )
        { 
        }




}  

1 Ответ

0 голосов
/ 10 ноября 2011

Вы ищете успеха, если вы подходите правильно для "Студента", верно?

Это может быть проблема чувствительности к регистру, попробуйте это.

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

Это даст оценку true и будет нечувствительным к регистру.

Кроме того, что касается выполнения программы, если они находятся в одном классе или функции main (), она будет выполнять Интернет независимо от локального результата, что также может привести к ошибкам.

Возможно, создайте глобальную логическую переменную. Чтобы подтвердить, что вы сделали проверку студента / Полный код:

/**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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...