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 de select en mysql/java


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut problème de select en mysql/java
    Bonjour,

    J'ai fais un select sur ma base pour récupérer les Ids correspondants à un attribut, mais, il m'affiche null. Je vois pas le problème.

    Voiçi le code:
    ==========
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    static void getIdArticle(String name){
            try{
            //Création du statement pour executer la requete  
            Statement stmt = con.createStatement();     
            ResultSet resultat = stmt.executeQuery("SELECT id FROM Table where Nom = '"+name+"'"); 
            while(resultat.next()){  
                System.out.println(resultat.getString("id"));
                 }
            }
            catch (SQLException sqle){ 
                 System.out.println("Erreur SQL : "+sqle);
            }
        }
    il maffiche rien du tt
    Si qq1 voit le problème n'hésiter pas et Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Je te conseille de créer ta requête dans une String req, que tu affiches avant de l'exécuter.
    Comme ça tu peux manuellement faire cette requête dans un MySQLBrowser être sûr que la requête ne renvoie pas simplement 0 résultat (ce qui je pense est le cas ici)

  3. #3
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    Es-tu bien sûr qu'il ya des lignes qui matchent la chaîne passée en paramètre ?

  4. #4
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    Plusieurs remarques :
    - tu ferais mieux d'utiliser des PreparedStatement pour injecter ton paramètre name, essaie un name contenant un ' pour voir
    - tu fais un getString sur un id qui à mon avis devrait être un nombre (Integer ou Long)

    Mais je ne pense pas que ça corrige ton problème...

    Et bien sûr comme dit ci-dessus teste en premier ta requête directement sur ton SGBD.

  5. #5
    Membre actif Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Points : 294
    Points
    294
    Par défaut
    Ou, au pire,balance un 'select * from table' pour voir au moins si ça te ramène des lignes...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut
    Il marche bien le select * from ..., il affiche ttes les lignes mais,
    il connait pas le String passé en parametre name, je vois pas du tt pq.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static void getIdArticle(String name){
    J'ai fai en main:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getIdArticle("Julien");
    Il affiche erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur SQL : java.sql.SQLException: Champ 'Julien' inconnu dans where clause
    Pourtant Julien n'est pas un champs

  7. #7
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Peut etre simplement donner 'Table' comme nom de table pose quelques problemes

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Essai
    je pense que l'ya un pb dans la comptabilté de variables name,et ID,
    plus priséement STRING et INTEGER,
    essaiye de aaficher ta requette pour voir le format est c'ast compatible avec
    une requette SQL
    merci.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut
    Merci zidiissam,

    J'ai changé le type de id, j'avais fais "id INT UNSIGNED NOT NULL" et ça marché pas du tout, mnt j'ai fais "id INTEGER NOT NULL" et ça marche tres bien.

    Merci infiniment

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

Discussions similaires

  1. [MySQL] Problém de selection PHP Mysql
    Par outasga dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/12/2009, 10h22
  2. Réponses: 3
    Dernier message: 28/10/2009, 02h09
  3. problème de if dans mon select en mysql
    Par sinifer dans le forum Requêtes
    Réponses: 3
    Dernier message: 25/05/2009, 20h26
  4. [MySQL] Petit problème de SELECT
    Par Comawhite dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/12/2006, 10h09
  5. Problème avec select sous MYSQL
    Par Thomad dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/01/2006, 11h26

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