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 :

pb requete SQL


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Points : 81
    Points
    81
    Par défaut pb requete SQL
    Bonjour,
    Je réalise une application java faisant appel à une base de données mysql.

    J'ai, dans mon code, une requete de ce style :
    INSERT INTO `role` ( `codeRole` , `fonction` ) VALUES ('', 'test');

    avec codeRole s'incrémentant automatiquement dans la base.
    J'avais réalisé une 1ere BDD sur laquelle cette requete, exécutée dans du code Java marchait tres bien. Je teste ce code sur une nouvelle base MySQL et le compilateur me met un message d'erreur :
    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data truncated for column 'codeRole' at row 1

    Je ne comprends pas du tt pourquoi. Voyez vous où se situe le pb?
    Merci d'avance

  2. #2
    Membre averti Avatar de guignol
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 339
    Points
    339
    Par défaut
    vérifie la taille de ta colonne coderole dans ta base et son type.
    - Fais une recherche, c'est un conseil. Si je me mets à t'aider, tu vas pas t'en sortir

    - "Même avec les yeux grands ouverts, je n'y vois rien".

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Points : 81
    Points
    81
    Par défaut
    J'ai vérifié, je il est à int(10), donc le pb ne vient pas, je pense de là.

  4. #4
    NGY
    NGY est déconnecté
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Ca dépend de la valeur que tu insère !
    Donne un peu de ton code qui fait l'INSERT

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Points : 81
    Points
    81
    Par défaut
    voila :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /** ajoute un role à la base de données dans la table role **/
       public void ajouterRole(String f) {
          try {
            connection();
     
            int res = stmt.executeUpdate("INSERT INTO `role` ( `codeRole` , `fonction` ) VALUES ('', '" +
                                         f + "');");
            stmt.close();conn.close();
          }
          catch (Exception e) {JOptionPane.showMessageDialog(null,"echec ajouterRole!");
            System.out.println("" + e);
          }
        }

    J'ai fait afficher la requete sur la consule, ca donne : INSERT INTO `role` ( `codeRole` , `fonction` ) VALUES ('', 'test');
    La fonction entre bien les données dans la base de données pourtant, avec un code role = à 6 ce qui est normal. Pourtant, le message d'erreur s'affiche.

  6. #6
    Membre averti Avatar de guignol
    Inscrit en
    Mai 2002
    Messages
    309
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 309
    Points : 339
    Points
    339
    Par défaut
    Citation Envoyé par clairette
    J'ai vérifié, je il est à int(10), donc le pb ne vient pas, je pense de là.
    T'as le droit d'insérer un '' dans un int(10)?

    @NGY : regarde plus haut, l'insert est présent
    - Fais une recherche, c'est un conseil. Si je me mets à t'aider, tu vas pas t'en sortir

    - "Même avec les yeux grands ouverts, je n'y vois rien".

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Points : 81
    Points
    81
    Par défaut
    Oui car dans la table, j'ai précisé que le code s'incrémentait automatiquement.

  8. #8
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    Bonjour,

    Je pense qu'à la place de ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO `role` ( `codeRole` , `fonction` ) VALUES ('', 'test');
    Mets juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO `role` ( `fonction` ) VALUES ('test');
    Si tu as bien défini que codeRole s'incrémente automatiquement, alors il le fera de toute manière et ton problème ne sera plus

    Edit : il me semble qu'il ne faut pas mettre le dernier ";" dans ta requête, la fonction le fait d'elle-même
    • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
    • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
    • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.


    et ne sont pas des options...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 188
    Points : 81
    Points
    81
    Par défaut
    Ca marche! GENIAL!
    Merci bcp pour votre aide!

  10. #10
    NGY
    NGY est déconnecté
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Citation Envoyé par guignol
    Citation Envoyé par clairette
    J'ai vérifié, je il est à int(10), donc le pb ne vient pas, je pense de là.
    @NGY : regarde plus haut, l'insert est présent
    Ben oui, mais "Même avec les yeux grands ouverts, je n'y vois rien" !

  11. #11
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    thx de penser au

    Content d'avoir aidé :trouve:
    • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
    • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
    • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.


    et ne sont pas des options...

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

Discussions similaires

  1. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31
  2. Prob de requete sql et variable
    Par agent-zaizai dans le forum ASP
    Réponses: 11
    Dernier message: 21/10/2003, 16h54
  3. requete sql
    Par autumn319 dans le forum ASP
    Réponses: 22
    Dernier message: 10/09/2003, 16h46
  4. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  5. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43

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