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

avec Java Discussion :

inserer un enregistrement dans la base de donnée


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par défaut inserer un enregistrement dans la base de donnée
    salut tout le monde
    je developpe une application sous netbeans et j'ai créé ma base de donnée avec mysql,j'ai réussi de me connecter à la base de donnée
    mais je trouve un problème :
    j'ai crée un formulaire et je je veux récuperer la valeur saisie par l'utilisateur et l'envoyer à la base de donnée ; mais j'arrive pas
    voici un bou de code:
    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
     
    String Nom = (String) nom.getText();
           String Prenom = (String) prenom.getText();
           //String Sal = (String) salaire.getText();
           System.out.println(Nom+prenom);
           Connection con=null;
           ResultSet resultat=null;
           String requete="";
     
           try
           {
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           }
           catch(ClassNotFoundException e)
           {
               System.out.println("erreur de charger le driver");
           }
           try
           {
               con=DriverManager.getConnection("jdbc:mysql://localhost:3306/zakate","root","sara");
           }
           catch(SQLException e)
           {
               System.out.println("impossible de se connecter à la base de donnée "+e.getMessage());
           } 
           requete="INSERT INTO client(nom,prenom) VALUES(Nom,prenom)";
            try
            {
                Statement stmt=con.createStatement();
                stmt.executeUpdate(requete);
                System.out.println("le nombre des mise à jour ");
            }
            catch(SQLException e)
            {
                System.out.println("probleeeeeeeeeeemmme" +e.getMessage());
                e.printStackTrace();
            }
    il enregistre le null dans les champs nom et prenom dans la base de donnée mais quand je fais:
    requete="INSERT INTO client(nom,prenom) VALUES('gggg','gtgtgt')";
    les données sont enregistrées dans la base de donnée

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482

  3. #3
    Membre confirmé
    Profil pro
    INGENIEUR DE RECHERCHE
    Inscrit en
    Février 2003
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : INGENIEUR DE RECHERCHE

    Informations forums :
    Inscription : Février 2003
    Messages : 74
    Par défaut
    tout est dans la :

    en plus on y apprend plein de choses mais quand même...

    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 {
    	      Class.forName("tondriver");
                  conn = DriverManager.getConnection("a renseigner", "idem", "idem");
                  Statement select = conn.createStatement();
                  ResultSet result = select.executeQuery("ta requete");
     
                  conn.close();
    	   } catch (SQLException e) {
    		  e.printStackTrace();
    	   } catch (ClassNotFoundException e) {
    		  e.printStackTrace();
    	   }
        }

  4. #4
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    A très court terme je replacerai bien cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    requete="INSERT INTO client(nom,prenom) VALUES(Nom,prenom)";
    par ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    requete="INSERT INTO client(nom,prenom) VALUES('"+Nom+"','"+prenom+"')";
    Mais effectivement des PreparedStatement ça peut être pratique (encore que si la requête ne doit pas être exécutée plusieurs fois de suite je ne crois pas que le PreparedStatement aie un intérêt autre que la lisibilité?)

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Jidefix Voir le message
    Mais effectivement des PreparedStatement ça peut être pratique (encore que si la requête ne doit pas être exécutée plusieurs fois de suite je ne crois pas que le PreparedStatement aie un intérêt autre que la lisibilité?)
    L'intérêt principale, éviter le SQL injection que ton code permet joyeusement.

  6. #6
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    L'intérêt principale, éviter le SQL injection que ton code permet joyeusement.
    Ah oué j'avais oublié cette histoire
    Note que ça m'a dejà bien servi dans une application existante pour effectuer une requête plus compliquée que celle de l'unique formulaire disponible

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/07/2006, 20h02
  2. enregistrer dans une base de données
    Par liverbird dans le forum C++Builder
    Réponses: 33
    Dernier message: 12/07/2006, 19h50
  3. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  4. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20
  5. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54

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