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 d'insertion dans une base MySql


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 35
    Points
    35
    Par défaut problème d'insertion dans une base MySql
    salut,
    voici mon petit code de connexion et d'insertion de données à ma petite base:
    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
     
    String nom=projet;
    String prenom=cerco;
    try { 
    	Class.forName("com.mysql.jdbc.Driver").newInstance ( ) ;
        }
        catch (Exception e){
    			 System.out .println("Erreur driver: "+e.getMessage() ) ;
        }
    try {
    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/gestioncompte","root","") ;
        }
        catch (Exception ez ){
    	System.out.println("Erreur de connexion "+ ez.getMessage ( ));
       }
    try { 
    		st = con.createStatement() ;
       }
    catch (SQLException t){
    	System.out.println ("Erreur de Statement "+t.getMessage());
    }
    try {
      int r = st.executeUpdate("INSERT INTO emp(`nom`,`prenom`) VALUES ('"+nom+"','"+prenom+"')");
     
    }
    catch (Exception er) {
       System.out .println("Erreur ResultSet "+er.getMessage ( ) );
    en executant j'ai ce message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur ResultSet Champ 'projet' inconnu dans field list
    je n'arrive pas à retrouver l'erreur dans le code. merci de m'aider svp

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Et en faisant ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO emp(nom, prenom) VALUES  ....

  3. #3
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Un conseil : passe par un preparedStatement, ça t'évitera des erreurs ... par exemple si tu as des noms de familles avec des '

  4. #4
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    A défaut de prepared statment, il faut systematiquement doubler les ' pour l'enregistrer correctement en base :
    VALUES ('"+nom.replace("'","''")+"','"+prenom.replace("'","''")+"')");

    et il ne faut pas qu'un malin mettre un , ou une ) dans son nom pour tout casser...donc s'assurer que les seuls caractères entrés sont a-z,A-Z,0-9 et '

    pour plus de lisibilité je te mets des espaces (à ne pas mettre en vrai)
    nom.replace(" ' ", " ' ' ").

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut
    Es-tu sur de travailler sur la même table ??
    Tu mets à jour un nom et prénom et ton erreur est sur un champs inconnu de ta rqte !!!

  6. #6
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par cerco1 Voir le message
    en executant j'ai ce message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur ResultSet Champ 'projet' inconnu dans field list
    Ce message ne se rapporte pas à l'instruction insert que tu nous montres.
    Peux-tu vérifier ?

    A+

  7. #7
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 35
    Points
    35
    Par défaut
    excusez-moi d repondre si tard. en fait la premiere reponse a resolu mon problème deja. j'ai juste enlevé les cotes comme l'a indiqué fr1man. merci neanmoins pour toutes vos contribution.
    cependant il se pose maintenant un nouveau pb, j'arrive à selectionner toutes les lignes d'une table. mais si je veux selectionner une ligne particuliere comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int i=1;
    try {
     ResultSet r = st.executeQuery("select * from compte where id="+i);
    }
    catch (Exception er) {
       System.out .println("Erreur ResultSet "+er.getMessage ( ) );
    j'ai le message quel peut etre le problème ?

  8. #8
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Quel est le type de id dans ta base de données ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 35
    Points
    35
    Par défaut
    le type INT

  10. #10
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 35
    Points
    35
    Par défaut
    en fait c'etait TINYINT avant. mais là je viens de le modifier à cause du message d'erreur, malheureusement j'ai tjrs le meme message.

  11. #11
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Et tu es sur que dans ta base de données il y a un enregistrement dont l'id est égal à 1 ?

  12. #12
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 35
    Points
    35
    Par défaut
    certain. maintenant le message d'erreur a changé . en modifaint ma requette comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int i=1;
    try {
    			 r = st.executeQuery("select * from compte where id="+i);
    			String num = r.getString("numero");
    			String type_f = r.getString("type");
    			}
    			catch (Exception er) {
    				System.out.println("Erreur ResultSet  "+er.getMessage ( ) ); 
    			}
    j'ai maintenant ce message:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur ResultSet  Before start of result set

  13. #13
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    try
    {
            r = st.executeQuery("select * from compte where id="+i);
           while(r.next()) 
           {
    	    String num = r.getString("numero");
    	    String type_f = r.getString("type");
           }
    }
    catch (Exception er)
    {
    	System.out.println("Erreur ResultSet  "+er.getMessage ( ) ); 
    }

  14. #14
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 72
    Points : 35
    Points
    35
    Par défaut
    merci beaucoup. ça marche
    bien à vous et à plus

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

Discussions similaires

  1. [MySQL] problème d'insertion dans une base MySql
    Par omar344 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/09/2012, 09h30
  2. Problème d'insertion dans une base de donnèes
    Par atout dans le forum Administration
    Réponses: 14
    Dernier message: 27/12/2006, 07h07
  3. [VB.NET][MySQL]ID insertion dans une base MySQL par ODBC
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/03/2006, 10h58
  4. problème d'insertion dans une base de données
    Par belmansour tidjani dans le forum JDBC
    Réponses: 7
    Dernier message: 18/01/2006, 22h13
  5. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34

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