IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

appeler une methode d'une classe exterieure pour se connecter a une BD en java


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de stpaul04
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 271
    Points : 116
    Points
    116
    Par défaut appeler une methode d'une classe exterieure pour se connecter a une BD en java
    Bonjour,

    j'ai un code java utility que j'utilise pour stocker toutes sortes d'utilitaires en java pour pouvoir les appeler plus tard
    dans d'autres code java pour eviter de recoder a chaque fois la meme chose.

    Dans mon Utility code j'ai créer un code pour une connexion a une base de donnée.
    Puis un autre code pour selectionner des donneés.

    De l'exterieur, si je veux appeler le code de connexion , je fais par example :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Utility.dbConnection();
    ceci fonctionne bien, il fait bien la connexion dans mon cas.

    Par contre pour selectionner les données ca ne fonctionne pas.
    Voici ce que j'ai mis dans Utility java:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static ResultSet getRecords(Connection cn){
     
            ResultSet resultRapport = null;
            try{
            PreparedStatement pst = cn.prepareStatement("SELECT NOM, ADRESSE FROM PERSONNE");
            resultreport = pt.executeQuery();
            System.out.println(resultRapport.getString(1) + " " + resultRapport.getString(2) );
            } catch (SQLException e) {  
                         e.printStackTrace();       
                     }
                    return resultRapport;   
                }
    Voici comment j'appelle cette methode de l'exterieur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Utility.getRecords(cn);
    cn se met rouge et me dit de créer une variable locale cn

    Est-ce-que mon code pour selectionner les données est correct?
    Pourquoi j'ai cette erreur?

    Merci

  2. #2
    Membre expert
    Avatar de MarieKisSlaJoue
    Homme Profil pro
    Ingénieur Cloud
    Inscrit en
    Mai 2012
    Messages
    1 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Ingénieur Cloud
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 145
    Points : 3 654
    Points
    3 654
    Billets dans le blog
    20
    Par défaut
    Qu'elle est la signature de ta fonction dbConnection ?
    Que stock tu dans ton cn et comment ?
    As-tu tous les import nécessaire ?
    Sinon tu peux aussi initialisé directement ta variable cn à l'intérieur de ta fonction au lieux de la passé en paramètre. Mais à priori ça fonctionne très bien comme ça. Quel est ton IDE ?
    Ce post à été écrit par un panda
    Apollo 11 - AGC revue de code
    -- qwerty keybord

  3. #3
    Membre régulier Avatar de stpaul04
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 271
    Points : 116
    Points
    116
    Par défaut
    Le cn c'est juste pour faire la connection a la BD.
    Voici mon code pour la connection au DB que j'ai mis dans mon fichier Utility java.
    dbHost,dbPassword, etc... sont sotcker dans un fichier properties que j'arrive a appeler sans probleme.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public static Connection dbConnection(){
     
    		Connection cn = null;		
    		try{
    			Class.forName("oracle.jdbc.driver.OracleDriver");
     
    	        String url = "jdbc:oracle:thin:@" + Util.getPropertyValue("dbHost") + ":" + "1111" + ":" + "xxxx";
    	        //creating connection to Oracle database using JDBC
    	        cn = DriverManager.getConnection(url, Util.getPropertyValue("dbUser"), Util.getPropertyValue("dbPassword")); 
    	        System.out.println("Database Connection...OK");	        
    		} catch (ClassNotFoundException e) {
     			e.printStackTrace();   	
       	 	} catch (SQLException e) {  
       	 		e.printStackTrace();      	
    		}	
    		return cn;   		
    	}

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Il faut que tu affectes la connexion dans une variable tout simplement, sinon le programme ne peut pas connaitre cn qui est une variable qui n'existe que lors de l'exécution de la méthode "dbConnection" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Connection maConnexion = Utility.dbConnection();
    Utility.getRecords(maConnexion );
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre régulier Avatar de stpaul04
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 271
    Points : 116
    Points
    116
    Par défaut
    Merci mais je ne suis meme pas sur que mon code Getrecord est correct

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/08/2014, 16h50
  2. Réponses: 3
    Dernier message: 26/02/2014, 12h20
  3. ecrire une methode aves des classes imbriquées
    Par artemis93 dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 07/06/2011, 00h18
  4. Réponses: 2
    Dernier message: 14/10/2009, 09h31
  5. [DELPHI6][MySQL 4.1.11] Pb pour se connecter sur une base My
    Par Desraux dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/06/2005, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo