Exception null pointer Exception
mira
-
mira -
mira -
Bonjour,
jai cette erreur lors de l'exécution de ce code:
java.lang.NullPointerException
at weapplication1.Administrateur.authentifier(Administrateur.java:42)
at weapplication1.Administrateur.main(Administrateur.java:54)
BUILD SUCCESSFUL (total time: 1 second)
/*
* Administrateur.java
*
* Created on 2 mai 2008, 22:13
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package weapplication1;
/**
*
* @author Administrateur
*/
import java.sql.*;
import java.io.*;
import java.util.*;
public class Administrateur {
public Connection c;
public Statement stmt;
public ResultSet rs,rs1;
public String query ;
String login;
String mpd;
public Administrateur(String login,String mpd)
{this.login=login;
this.mpd=mpd;
}
/** Creates a new instance of Administrateur */
public Administrateur()throws ClassNotFoundException, SQLException {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Super");
}
public void authentifier(String login,String mot_de_passe) throws ClassNotFoundException,SQLException
{
query= "SELECT * from administrateur where login='"+login+"' and mpd='"+mot_de_passe+"'";
rs=stmt.executeQuery(query);
if(rs.next()){
System.out.println(rs.getString(1) + rs.getString(2));
}
}
public static void main(String args[])
{
try
{Administrateur a=new Administrateur();
a.authentifier("admin","admin");
}
catch(SQLException sqle){System.err.println(sqle.getStackTrace());}
catch(ClassNotFoundException cnfe){System.err.println("Probleme authentification");}
catch(Exception e){e.printStackTrace();}
}
}
jai cette erreur lors de l'exécution de ce code:
java.lang.NullPointerException
at weapplication1.Administrateur.authentifier(Administrateur.java:42)
at weapplication1.Administrateur.main(Administrateur.java:54)
BUILD SUCCESSFUL (total time: 1 second)
/*
* Administrateur.java
*
* Created on 2 mai 2008, 22:13
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package weapplication1;
/**
*
* @author Administrateur
*/
import java.sql.*;
import java.io.*;
import java.util.*;
public class Administrateur {
public Connection c;
public Statement stmt;
public ResultSet rs,rs1;
public String query ;
String login;
String mpd;
public Administrateur(String login,String mpd)
{this.login=login;
this.mpd=mpd;
}
/** Creates a new instance of Administrateur */
public Administrateur()throws ClassNotFoundException, SQLException {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:Super");
}
public void authentifier(String login,String mot_de_passe) throws ClassNotFoundException,SQLException
{
query= "SELECT * from administrateur where login='"+login+"' and mpd='"+mot_de_passe+"'";
rs=stmt.executeQuery(query);
if(rs.next()){
System.out.println(rs.getString(1) + rs.getString(2));
}
}
public static void main(String args[])
{
try
{Administrateur a=new Administrateur();
a.authentifier("admin","admin");
}
catch(SQLException sqle){System.err.println(sqle.getStackTrace());}
catch(ClassNotFoundException cnfe){System.err.println("Probleme authentification");}
catch(Exception e){e.printStackTrace();}
}
}
Configuration: Windows Vista Internet Explorer 7.0
2 réponses
-
Bonjour !
public Statement stmt; public void authentifier(String login,String mot_de_passe) throws ClassNotFoundException,SQLException { query= "SELECT * from administrateur where login='"+login+"' and mpd='"+mot_de_passe+"'"; rs=stmt.executeQuery(query); if(rs.next()){ System.out.println(rs.getString(1) + rs.getString(2)); }
hmm .. NullPointerException, en Java, corresponds à une variable à la valeur NULL sur laquelle tu tente d'exécuter des méthodes, à mon avis ton souci viens de cette ligne "rs=stmt.executeQuery(query);" ( j'ai pas recompté :P ) et viens du fait que stmt n'est pas un Statment instancié, bref, en rajoutant dans une de tes 2 fonctions un petitstmt = new Statment( );
ça a des chances de marcher
Bonne chance ! -
( Pardon j'ai pas trouvé de lien d'édition, et je me suis grossièrement planté > < )
Rebonjour,
Donc, l'instanciation du Statment se fais par uncon.createStatment( );
Désolé pour la petite erreur, longtemps sans Java, ca pardonne pas ;)