Affichage d'une table d'oracle avec java

Signaler
Messages postés
6
Date d'inscription
jeudi 24 novembre 2011
Statut
Membre
Dernière intervention
30 mars 2012
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
bonjour
je veux afficher une table de base de données oracle avec java j'ai executé le code qui fait cela mais il affiche des erreurs que je n'arrive pas à les corriger
pouvez vous m'aider s'il vous plait
le voila le code:


import java.sql.*; // Pour la connexion avec Oracle
import java.io.*; // Pour les entrée sorties
import oracle.jdbc.*; // Pour les pilotes Oracle
import oracle.sql.*; // Pour les spécificités SQL d'Oracle
//import java.util.jar.*;
//import java.util.zip.*;
import java.sql.SQLException;
import oracle.jdbc.driver.*;


public class Base1  {
Connection con = null;
    ResultSet resultats = null;
   String requete = "";
private static void affiche(String message) {
System.out.println(message);
}
private static void arret(String message) {
System.err.println(message);
System.exit(99);
}


 
//public  void base() {

//chargement de driver 
public void connexionBD() {
    try
    {
                 Class.forName("oracle.jdbc.driver.OracleDriver");			   
     System.out.println ("driver etablie");
    }
    catch(Exception e)
    {
    	System.out.println ("erreur");
    }
   
    
    //connexion à la base 
    try
    
    {
        String url = "jdbc:oracle:thin:@localhost:1521:etudiant";
    	String user = "system"; 
    	String passwd = "oracle"; 
    	
    	 con =DriverManager.getConnection(url,user, passwd);
    	System.out.println ("connexion de la base etudiant");
    }
    catch(Exception e)
    
      {
       
    System.out.println ("erreur");
    
    }}
    ///////
public void select(String requete){
     //requete = "select * from personne ";
    	try {
    		Statement stmt = con.createStatement();
    		resultats = stmt.executeQuery(requete);
    		} catch (SQLException e) {
    		System.out.println("la requête ne s'execute pas");
    		}
   
//		  parcours des données retournées
    affiche("parcours des données retournées");
    try {
    ResultSetMetaData rsmd = resultats.getMetaData();
    int nbCols = rsmd.getColumnCount();
    boolean encore = resultats.next();
    while (encore) {
    for (int i = 1; i <= nbCols; i++)
    System.out.print(resultats.getString(i) + " ");
    System.out.println();
    encore = resultats.next();
    }
    resultats.close();
    } catch (SQLException e) {
    arret(e.getMessage());
    }
  
    }
public static void main (String args[]){
String requet = "select * from personne";
Base1 b= new Base1();
b.connexionBD();
b.select(requet);
}
    	  

} 



voilà les erreurs affichés:
Exception in thread "main" java.lang.NullPointerException
at cc.java.Base1.select(Base1.java:74)
at cc.java.Base1.main(Base1.java:93)

2 réponses

Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
10
Salut,

j'avoue je fais mon paresseux, j'ai pas envie de tout vérifier ^^
Pourrais-tu me dire quelle ligne est concernée par l'erreur, autrement dit, quelle est la ligne 74...
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
301
Déjà commence par enlever tous tes
catch(Exception e)
{
    	System.out.println ("erreur");
}

ou pire les
catch(Exception e)
{

}


Et dans les catch qui ne sont pas associés à des RuntimeException oui qui ne sont pas des catch de Exception, mets ceci :

catch (SQLException e) {
e.printStackTrace();
}