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 :

[Débutant]: Class MySQL


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de fabou3377
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 182
    Par défaut [Débutant]: Class MySQL
    Bonjour,

    je cherche a créer une classe mysql qui me permettra d'effectuer plusieurs méthode dans mon projet, étant débutant en Java et n'ayant pas trop de connaissances au niveau de la P.O.O voici mon début de code. Mer ci de me signaler les erreurs.

    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
    package dynhmi;
     
    import java.sql.*;
     
    public class mysql {
     
        public static void main (String args[]){
        Connexion("jdbc:mysql://localhost/","root","123456");    
     
        } 
     
        //Le constructeur
        public mysql() {
            String pilote = "com.mysql.jdbc.Driver";
            Class.forName(pilote);
        }
     
        //La méthode pour se connecter
        public void connexion(char host, char user, char pw ){
             try{
                //Connexion à ma base mysql avec mon login et mot de passe ( à vous de changer cela)
                Connection connexion = DriverManager.getConnection(host,user,pw);
                }
               catch (Exception e){
               System.out.println("echec pilote : "+e);
               }
        }  
     
    }
    Merci pour votre aide

  2. #2
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    C'est un peu le jeu des 7 erreurs ton code...

    Si tu nous en disais un peu plus l'as-tu tester , Quels sont les messages d'erreur?

    Une classe commence toujours par une majuscule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connexion("jdbc:mysql://localhost/","root","123456");
    Tu appelles une méthode qui n'a pas de majuscule

    Java est case sensitive

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     //Le constructeur
        public mysql() {
            String pilote = "com.mysql.jdbc.Driver";
            Class.forName(pilote);
        }
    Tu n'utilises pas le constructeur donc ton code n'est jamais appelé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public void connexion(char host, char user, char pw ){
             try{
                //Connexion à ma base mysql avec mon login et mot de passe ( à vous de changer cela)
                Connection connexion = DriverManager.getConnection(host,user,pw);
                }
               catch (Exception e){
               System.out.println("echec pilote : "+e);
               }
        }
    La comme ça je vois pas d'erreur à part que tu n'utilises pas la connexion, donc ça sert à rien.

  3. #3
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Citation Envoyé par moritan
    C'est un peu le jeu des 7 erreurs ton code...
    Ah bon tu en as pas pointé 7.

  4. #4
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    Citation Envoyé par thibaut
    Ah bon tu en as pas pointé 7.
    Je te laisse trouver les autres

  5. #5
    Membre confirmé
    Avatar de fabou3377
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 182
    Par défaut
    Ok mais comment je fais pour que mon constructeur soit utilisé?

  6. #6
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    Citation Envoyé par fabou3377
    Ok mais comment je fais pour que mon constructeur soit utilisé?
    avec un new mais là, c'est les base de la prog Java, je te conseille de lire un cours avant de commencer à programmer

  7. #7
    Membre chevronné Avatar de broumbroum
    Profil pro
    Inscrit en
    Août 2006
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 406
    Par défaut
    La variable connexion est à déclarer en variable de classe si tu veux garder le controle de celle-ci pour les requetes.
    Citation Envoyé par fabou3377
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //(...)
        //La méthode pour se connecter
        public void connexion(char host, char user, char pw ){
             try{
                //Connexion à ma base mysql avec mon login et mot de passe ( à vous de changer cela)
                Connection connexion = DriverManager.getConnection(host,user,pw);
                }
               catch (Exception e){
               System.out.println("echec pilote : "+e);
               }
        }
    Merci pour votre aide

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Plusieurs choses :

    - ta fonction connexion doit avoir des paramètres de type String (pas char)
    - tu devrais récupérer ton objet Connection dans une variable pour l'utiliser dans le corps de main...

    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
     
    public static void main (String args[])
    {
        Connection connection = connexion("jdbc:mysql://localhost/","root","123456");    
     
    // après tu fais ce que tu veux avec
        ResultSet rs = connection.createStatement().executeQuery("select ...");
     
    } 
    //La méthode pour se connecter
    public void connexion(String host, String user, String pw )
    {
         try
         {
             return DriverManager.getConnection(host,user,pw);
         }
         catch (Exception e)
         {
             System.out.println("echec pilote : "+e);
         }
         return null;
    }
    A part ça, que la classe commence par une majuscule, c'est mieux, mais c'est une convention, pas une obligation...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Débutant] - Classes visuelles
    Par chennuo dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 20/03/2006, 18h27
  2. [POO] Débutant en POO, class mysql php5
    Par ouafouaf dans le forum Langage
    Réponses: 9
    Dernier message: 06/02/2006, 09h21
  3. [débutant]class File : delete/renameTo()
    Par Zazawitch dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 23/01/2006, 21h36
  4. [Tableaux] [Débutant ) Classes
    Par Halobox dans le forum Langage
    Réponses: 5
    Dernier message: 12/01/2006, 15h50
  5. [Débutant]Classe d'Authentification : compilation impossible
    Par acyclique dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/08/2003, 19h42

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