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

Développement Web en Java Discussion :

Problème avec MySQL (Statement)


Sujet :

Développement Web en Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut Problème avec MySQL (Statement)
    Salut,

    Voila , j'ai mis une classe de connexion ou je charge mon driver et j'identifie la base de donnée , j'ai accédé a cette classe depuis une classe java pour faire des traitement de requétes , dans cette classe la Connection se fait , mais l'object Statement ne se crée pas . J'ai changer les imports mais toujours le meme problème il n'accede pas au (messages.put("Statement bien crée")) du coup il m'affiche pas les lignes de mon tablea utilisateur . Je ne sais pas d'ou viens l'erreur :

    Voila ma methode connecter() :

    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
    import java.sql.DriverManager;
     
    import com.mysql.jdbc.Connection;
     
    public class connect {
     
        public static Connection connecter() {
     
            Connection connection = null;
            String url = "jdbc:mysql://localhost:3306/base_donnee";
            String utilisateur = "java";
            String motDePasse = "ntic";
     
            try {
                Class.forName( "com.mysql.jdbc.Driver" );
                connection = (Connection) DriverManager.getConnection( url, utilisateur, motDePasse );
     
            } catch ( Exception e ) {
                e.printStackTrace();
            } finally {
                try {
                    if ( connection != null ) {
                        connection.close();
     
                    }
                } catch ( Exception e2 ) {
                    // TODO: handle exception
                }
            }
            return connection;
     
        }
    }
    La classe TestJdbc.java du traitement :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
     
    import javax.servlet.http.HttpServletRequest;
     
    import com.mysql.jdbc.Connection;
     
    public class TestJDBC {
     
        Connection                c        = null;
        ResultSet                 res      = null;
        Statement                 stat     = null;
     
        /* La liste qui contiendra tous les résultats de nos essais */
        private ArrayList<String> messages = new ArrayList<String>();
     
        public ArrayList<String> executerTests( HttpServletRequest request ) {
            /* Ici, nous placerons le code de nos manipulations */
            /* ... */
     
            try {
     
                c = connect.connecter();
     
                messages.add( "connection bien crée" );
     
                stat = c.createStatement();
     
                messages.add( "statement bien crée" );
     
                res = stat.executeQuery( "select id,nom from base_donnee.utilisateur" );
     
                while ( res.next() ) {
     
                    int id = res.getInt( "id" );
                    String nom = res.getString( "nom" );
     
                    messages.add( "L'id est : " + id + " et le nom est :" + nom );
     
                }
     
            } catch ( Exception e ) {
                e.printStackTrace();
     
            } finally {
                if ( res != null ) {
                    try {
                        res.close();
                    } catch ( Exception e ) {
                        // TODO: handle exception
                    }
                }
                if ( stat != null ) {
                    try {
                        stat.close();
                    } catch ( Exception e ) {
                        // TODO: handle exception
                    }
                }
                if ( c != null ) {
                    try {
                        c.close();
                    } catch ( Exception e ) {
                        // TODO: handle exception
                    }
                }
     
            }
            return messages;
        }
    }
    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    Dans ta méthode connecter, dans le finally tu fermes la connection, c'est donc normal que la méthode createStatement ne te renvoie rien ensuite.
    Vu que tu fermes bien la connection à la fin de la méthode executerTests, tu ne dois pas le faire dans la méthode connecter.

    De plus il est préférable que le nom d'une classe commence par une majuscule, donc tu devrais renommer ta classe connect par Connect.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 174
    Points : 51
    Points
    51
    Par défaut
    Oui , vous avez raison , j'ai négligé ce détail très important , j'ai crus que c'étais de mes imports , merci pour la réponse , ca marche bien , et pour la classe oui d'habitude je la crée en majiscule

Discussions similaires

  1. Problème avec mysql.host
    Par LePhasme dans le forum Installation
    Réponses: 4
    Dernier message: 05/03/2012, 10h23
  2. problème avec MYSQL
    Par H-bil dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/06/2006, 22h21
  3. Problème Avec MySQL, PHP5 et IIS6
    Par nemesix29 dans le forum Apache
    Réponses: 3
    Dernier message: 30/04/2006, 19h37
  4. Problème avec MySQL.Data
    Par MABB dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 08/04/2006, 18h41
  5. problème avec MySql
    Par cescu dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/02/2006, 12h18

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