Java.Lang.NullException

Fermé
JeunLoup Messages postés 6 Date d'inscription jeudi 26 juillet 2018 Statut Membre Dernière intervention 14 août 2018 - Modifié le 26 juil. 2018 à 15:11
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 31 juil. 2018 à 17:50
Bsr, je suis débutant en programmation java et je viens de tomber sur cette fameuse erreur "Java.Lang.NullException.
besoin vrmt d'aide svp je ne sais pas où se trouve cette erreur dans mon code.
merci

mon code
package Projettest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;


public class Connect {
    Connection cnx = null;
    ResultSet Rs =null;
    PreparedStatement ps = null;
    
    public static Connection ConnectDB() {
        try {
            Class.forName("gun.jdbc.odbc.JdbcOdbcDriver");
            Connection cnx = DriverManager.getConnection("jdbc:odbc:MyDatabase","","");
            return cnx;
        }
        catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
            return null;
        }
    }
    
}


EDIT : Ajout des balises de code

2 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
26 juil. 2018 à 16:50
Bonjour,

Si tu as une exception à l'initialisation de la connexion il ne sert à rien de continuer avec null comme valeur par défaut, de toute façon la suite du programme ne pourra pas fonctionner sans base de données.

    public static Connection ConnectDB() {
        try {
            Class.forName("gun.jdbc.odbc.JdbcOdbcDriver"); // à faire une seule fois dans tout le programme !
            return DriverManager.getConnection("jdbc:odbc:MyDatabase","","");
        }
        catch (Exception e) {
            throw new IllegalStateException("Impossible de se connecter à la base de données", e);
        }
    }
0
JeunLoup Messages postés 6 Date d'inscription jeudi 26 juillet 2018 Statut Membre Dernière intervention 14 août 2018
Modifié le 31 juil. 2018 à 17:48
bjr, voici un extrait de code de mon JFrame Login

package Testlogin;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;


public class Login extends javax.swing.JFrame {

    Connection cnx = null;
    ResultSet Rs = null;
    PreparedStatement ps = null;

public Login() {
        initComponents();
    }

    
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
           String Sql = "Select * from Tablelogin WHERE username='" +txtusername.getText()
                   + "'and password='" +txtpassword.getText()+"'";
           ps = cnx.prepareStatement(Sql);
           Rs = ps.executeQuery();
           if (Rs.next()) {
               JOptionPane.showMessageDialog(null, "Correct");
               Principale s = new Principale();
               s.setVisible(true);
           } else {
               JOptionPane.showMessageDialog(null, "invalid username or password");
           }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);  
        }
    } 

je ne sais comment le modifier afin de ne plus avoir cette erreur. please, need help.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
31 juil. 2018 à 17:50
Regardes ma réponse précédente, mais avec cnx qui vaut null rien ne fonctionnera.
0