Besoin de complément

Fermé
Sadio - Modifié par NHenry le 15/08/2015 à 20:24
greg6614 Messages postés 592 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 3 juin 2017 - 23 août 2015 à 16:04
Bonjour, j'ai un message d'erreur java.lang.NullPointerException
avec mon code suivant

......
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
       try{
String Sql = "Select * from Tablelogin WHERE username = '" +txtuser.getText()+"'and password'"+txtpass.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, "invalide username or password");
p.setText("invalide username or password");
}
}catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
    }                                        
private void formWindowOpened(java.awt.event.WindowEvent evt) {
    cnx = Connect.ConnectDB();
}

......

3 réponses

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
15 août 2015 à 20:23
Bonjour,

Sur quelle ligne se produit le NullPointerException ?
0
NHenry Messages postés 15194 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 23 février 2025 353
15 août 2015 à 20:28
Sans traiter la question en elle même, mais essayes l'utilisateur :
' OR 1=1; --
Peu importe le mot de passe (pas testé, mais devrait fonctionner).

Ton code est sensible aux injections SQL.
0
greg6614 Messages postés 592 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 3 juin 2017 107
Modifié par greg6614 le 23/08/2015 à 16:06
Salut,
Ta ligne SQL suivante contient une erreur aprés ton AND
String Sql = "Select * from Tablelogin WHERE username = '" +txtuser.getText()+"'and password'"+txtpass.getText()+"'";


Essai avec ceci :
String Sql = "Select * from Tablelogin WHERE username = '" +txtuser.getText()+"'and password = '"+txtpass.getText()+"'";


De plus ta variable suivante
p.setText("invalide username or password");
n'est pas définie dans ta méthode, vérifie alors qu'elle est bien initialisé quelque part et visible dans ta méthode.
En espérant t'avoir aider
Greg
0