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

JDBC Java Discussion :

Problème Statement JDBC


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 66
    Points : 63
    Points
    63
    Par défaut Problème Statement JDBC
    Bonjour à tous !

    Je suis en développement d'une application de gestion de stock en java, et je communique avec une base de données.

    J'ai effectué ma requête de connexion qui fonctionne correctement.
    J'arrive a créer un "statement" dans la requête de connexion, seulement je souhaite retourner la variable de connexion pour créer une sorte d'API avec les requêtes de lecture, ecriture etc..

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    package com.simpleduino.file_manager.SQL;
     
    import java.sql.*;
     
    /**
     * Created by Simple-Duino on 21/12/2015.
     * Copyrights Simple-Duino, all rights reserved
     * http://simple-duino.com
     */
     
    public class SQL {
     
        private String url;
     
        public SQL(){}
     
        public boolean connect(String ip, String bdd_name, String user, String passwd)
        {
            try {
                url = "jdbc:mysql://" + ip + ":3306/" + bdd_name;
                Class.forName("com.mysql.jdbc.Driver");
                System.out.println("Driver O.K.");
     
                java.sql.Connection conn = DriverManager.getConnection(url, user, passwd);
                System.out.println("Connexion effective !");
     
                //Récuperer conn :
     
                return true;
            }
            catch(Exception e)
            {
                return false;
            }
        }
    Je souhaite récuperer la variable "conn" afin de realiser ma requête de création de Statement dans une autre fonction.

    Avez vous des idées ?

    Grand merci !

    Zeratec

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Et bien tu change la signature de ta méthode. Au lieu de retourner un boolean, tu retourne la connexion créée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public java.sql.Connection connect(String ip, String bdd_name, String user, String passwd)
    //....

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    D'accord, merci beaucoup !

    Mais dans ce cas, dans le "catch", que dois-je retourner ?

    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 java.sql.Connection connect(String ip, String bdd_name, String user, String passwd)
        {
            try {
                url = "jdbc:mysql://" + ip + ":3306/" + bdd_name;
                Class.forName("com.mysql.jdbc.Driver");
                System.out.println("Driver O.K.");
     
                java.sql.Connection conn = DriverManager.getConnection(url, user, passwd);
                System.out.println("Connexion effective !");
     
                return conn;
            }
            catch(Exception e)
            {
                return ????? ;
            }
        }
    j'ai beau chercher, je ne vois pas la solution

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    soit tu retourne null et tu teste du coté de l'appelant, soit tu lance une exception.

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    Merci pour cette solution !

    J'ai trouvé une autre solution simple, en utisant this.statement = conn.statement.
    Et j'utilise l'objet this.statement par a suite.

    Zeratec

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème Name jdbc is not bound in this Context
    Par twist83 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 19/11/2008, 18h30
  2. Prepare Statement jdbc
    Par punisher999 dans le forum JDBC
    Réponses: 18
    Dernier message: 19/09/2008, 16h41
  3. Problème drivers Jdbc/Oracle
    Par kalikut dans le forum JDBC
    Réponses: 2
    Dernier message: 17/08/2007, 15h05
  4. Réponses: 6
    Dernier message: 14/11/2006, 16h58
  5. problème servlet + JDBC sur tomcat
    Par pellec dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 09/08/2006, 09h45

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