В приведенном ниже коде всегда возникает ошибка NullPointerException
.Ошибка NullPointerException при входе по запросу JDBC
Подключение:
Connection con;
java.sql.PreparedStatement st;
public void Connect()
{
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String user = "root";
String password = "";
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mpdb",user,password);
String sql = new String("SELECT * FROM 'dati' WHERE user =? and pass =?");
st = con.prepareStatement(sql);
}catch(Exception ex){
JOptionPane.showMessageDialog(null, "Connessione non riuscita");
ex.printStackTrace();
}
}
Логин:
@SuppressWarnings("deprecation")
public void mouseClicked(MouseEvent arg0) {
TextFields tf = new TextFields();
Driver d = new Driver();
try{
String sql = new String("SELECT user,pass FROM 'dati' WHERE user =? and pass =?");
ps = d.con.prepareStatement(sql);
ps.setString(1,tf.ftf.getText()); //JFormattedTextField
ps.setString(2,tf.pf.getText()); //JPasswordField
rs = ps.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null, "User successfully logged");
}else{
JOptionPane.showMessageDialog(null, "User not found");
}
}catch(Exception ex){
ex.printStackTrace();
}
}
Вы должны указать свою ошибку –
В частности, отправьте трассировку стека, указав код, на который ссылаются номера строк в трассировке стека. Благодаря! –
Используйте отладчик, чтобы выполнить свой код и найти нулевую переменную, вызывающую исключение. Затем вы можете добавить чеки, чтобы предотвратить проблему. – JNYRanger