J'ai une application de connexion qui doit se connecter à un serveur pour vérifier le nom d'utilisateur et mot de passe. J'utilise netbeans et le jbdc est installé et fonctionne dans l'onglet services (merci stack overflow!). Par le jbdc est le travail que je veux dire que je peux exécuter le script SQL à travers elle.Connexion MySQL Netbeans - ne pas faire avec jbdc
J'ai mis cette question avec le serveur MS 16 et MySQL, donc je suis convied il est le code:
Méthode de connexion:
package dbUtil;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class dbConnection {
private static final String USERNAME = "root";
private static final String PASSWORD = "mess";
private static final String SQCONN = "jdbc:mysql://localhost:1434/MessyLogin?zeroDateTimeBehavior=convertToNull";
public static Connection getConnection()throws SQLException{
try {
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection(SQCONN, USERNAME, PASSWORD);
}catch (ClassNotFoundException e) {
}
return null;
}
}
loginmodel:
package LogIn;
import dbUtil.dbConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class LogInModel {
Connection connection;
public LogInModel() {
try{
this.connection = dbConnection.getConnection();
}catch(SQLException e){
}
if(this.connection == null){
System.out.println("here");
// System.exit(1);
}
}
public boolean isDatabaseConnected(){
return this.connection != null;
}
public boolean isLogin(String username, String password) throws Exception{
PreparedStatement pr = null;
ResultSet rs = null;
String sql = "SELECT * FROM MessyLogin where username = ? and Password = ?";
try{
pr = this.connection.prepareStatement(sql);
pr.setString(1, username);
pr.setString(2, password);
rs = pr.executeQuery();
boolean bool1;
if(rs.next()){
return true;
}
return false;
}
catch(SQLException ex){
return false;
}
finally {
{
pr.close();
rs.close();
}
}
}
}
je crois que le Le problème est le return null;
du fichier dbConnection. Le if(this.connection==Null)
revient true et le système quitte.
Merci d'avance.
Vous n'avez aucune idée de ce qui se passe lorsque vous écrivez des blocs catch vides. Imprime la trace de la pile. – duffymo
Peut-être devriez-vous instancier (avec new) la classe "dbConnection" dans "LogInModel" avant d'utiliser la méthode "getConnection()". – ziMtyth
Vous pouvez vérifier avec le débogueur pour voir si "dbConnection" est différent de null, donc vous pouvez appeler sa méthode. – ziMtyth