Problème connexion java avec base de donnée Access sous éclipse

med -  
 med -
Bonjour, après avoir compiler le code java, éclipse m'affiche le message suivant :

Exception in thread "main" java.lang.NullPointerException
at projet1.test.main(test.java:34)

Merci de proposer une solution adéquate concernant ce problème.

2 réponses

  1. bouchrot Messages postés 394 Statut Membre 6
     
    pose ton code pour qu'on puisse le voir
    1
  2. med
     
    package projet1;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;

    public class test {
    public static void main(String[] args) {
    Connection con = null;
    ResultSet résultats = null;
    String requete = "";
    // chargement du pilote
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } catch (ClassNotFoundException e) {
    System.out.println("Impossible de charger le pilote jdbc:odbc");
    }
    //connection à la base de données
    System.out.println("connexion à la base de données");
    try {
    String BDurl = "jdbc:odbc:bd";
    con = DriverManager.getConnection(BDurl);
    } catch (SQLException e) {
    System.out.println("Connection à la base de données impossible");
    }
    //insertion d'un enregistrement dans la table client
    System.out.println("creation enregistrement");
    requete = "INSERT INTO client VALUES (15,'nom 15','prenom 15')";
    try {
    Statement stmt = con.createStatement();
    int nbMaj = stmt.executeUpdate(requete);
    System.out.println("nb mise a jour = "+nbMaj);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    //creation et execution de la requete
    System.out.println("creation et execution de la requête");
    requete = "SELECT * FROM client";
    try {
    Statement stmt = con.createStatement();
    résultats = stmt.executeQuery(requete);
    } catch (SQLException e) {
    System.out.println("Anomalie lors de l'execution de la requête");
    }
    //parcours des données retournées
    System.out.println("parcours des données retournées");
    try {
    ResultSetMetaData rsmd = résultats.getMetaData();
    int nbCols = rsmd.getColumnCount();
    boolean encore = résultats.next();
    //pour afficher le nom des colonnes
    System.out.println("\n****************************************************");
    for(int i = 1; i <= rsmd.getColumnCount(); i++)
    System.out.print("\t" + rsmd.getColumnName(i) + "\t *");
    System.out.println("\n****************************************************");

    while (encore) {
    for (int i = 1; i <= nbCols; i++)
    System.out.print("\t" + résultats.getString(i) + "\t |");
    System.out.println();
    encore = résultats.next();
    }
    résultats.close();
    } catch (SQLException e) {
    System.out.println(e.getMessage());
    }
    System.exit(0);//quitter le prog

    }}
    0