Я пытался заставить эту часть кода работать некоторое время, но похоже, что это не так. Мой пользователь вводит имя пользователя и пароль, а затем программа сравнивает его с БД. Однако он отображает Недействительные учетные данные, даже если при выводе пароля он отображает то же самое, что и я. В нескольких точках я знаю, что некоторые из вас будут указывать на такие вещи, как использование отдельного класса для подключения, проверка против имени пользователя для вместо использования Select *, используйте хешинг и все. Но сейчас я просто хочу, чтобы этот код работал. Только после этого я смогу работать над другими аспектами, чтобы обеспечить его эффективность. Спасибо всем заранее :)Проверка учетных данных в отношении Db с использованием JDBC
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
Username1 = "jTextField1.getText()";
Password1 = "jPassword1Field2.geText()";
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost:3306/";
String dbName = "VideoSystem" ;
String userName = "root";
String passWord = "**mypassword**";
Connection conn = DriverManager.getConnection(url+dbName, userName, passWord);
Statement st = conn.createStatement();
String sql = ("SELECT * FROM Identification");
ResultSet rs = st.executeQuery(sql);
while(rs.next())
{
password = rs.getString("Password");
if(Password1.equals(password))
{
MenuSelection obj1 = new MenuSelection();
obj1.setVisible(true);
}
else
{
JOptionPane.showMessageDialog(null, "Invalid Credentials", "System Message", JOptionPane.INFORMATION_MESSAGE);
}
}
conn.close();
}
catch (Exception e)
{
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
Тип пароля в моей базе данных является VARCHAR. –
Вы пробовали в debugmode? Я думаю, что вы только проверяете первый пароль из db, и если это не соответствует вы показываете errormessage – 0riginal
Попробуйте отладить код до того момента, когда вы назначаете значение 'password = rs.getString (« Пароль »);' и сравните значение отладки с вашим значением 'Password1'. Это поможет вам определить, вернётся ли правильное значение. –