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 :

Problème d'INSERT d'un textfield dans ma BD


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Points : 71
    Points
    71
    Par défaut Problème d'INSERT d'un textfield dans ma BD
    Bonjour à tous, je débute en Java et rencontre un problème que voici:
    -J'arrive sans problème à me connecter à ma BD
    -J'arrive à récupérer les données

    J'ai une interface graphique avec un bouton et un JtextField.
    Je voudrais renvoyer le contenu de mon JtextField dans un champ de ma BD au clic du bouton.
    J'ai une classe Fenêtre et une classe Main dans laquelle j'instancie ma fenêtre, établi la connexion avec la BD et exécute les différentes requêtes.

    Mon problème est que je ne sais pas quoi mettre comme condition pour exécuter ma requête, car si je ne met pas de condition la requête s'exécute directement et comme le contenu de mon textField est null, ça plante.
    Le problème est que dans le Main, il teste directement le contenu de mon String. Je devrais transférer autrement ma variable, mais je ne sais pas comment... ( je sais c'est honteux)
    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
     
    public class Main 
    {
     
        public static void main(String[] args) throws Exception
       {
            Fenetre fen=new Fenetre();
            ...
     
            Statement stat = conn.createStatement();
            System.out.println("Personne  : " + fen.nomPersonne);
            // J'obtiens la valeur null, ce que je ne désire évidemment pas 
     
            String resultat = stat.executeUpdate("INSERT INTO (personne) VALUES ("+fen.nomPersonne+")");
     
       }
    }
    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 class Fenetre extends JFrame 
    {
     
             public String nomPersonne;
             JTextField textfieldnomPersonne=new JTextField("");
             JButton validerAjoutPersonne=new JButton("Valider");
             public Fenetre()
            {
                    validerAjoutPersonne.addMouseListener(new MouseAdapter()
                   {
                          public void mouseClicked(MouseEvent e)
                          {
                                  nomPersonne=textfieldNomPersonne.getText();
                                  System.out.println("Personne  : " + nomPersonne);
                                  //J'obtiens bien le nom de la personne ajoutée dans le textfield (après le clic), je souhaiterais à présent la renvoyer dans le Main
                          }
                    });
            }
     
     
    }
    En espérant avoir été clair. Je me doute que c'est un problème qui vous parait évident, désolé d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    Bonsoir vinch999,

    En principe ton bloc main devrait uniquement servir à démarrer ton application. Le reste de ton business est déclanché par les actions associées aux composantes de ton interface graphique ou par des évènements externes asynchrones.
    Donc pourquoi ne pas faire la mise à jour de ta DB via ta méthode mouseClicked ?

    N'hésite pas à t'inspirer des examples des tutoriels java de Sun pour voir comment structurer ton application. Cà te fera gagner beaucoup de temp.
    Regarde le bloc main dans cet example...
    http://java.sun.com/docs/books/tutor.../TextDemo.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public static void main(String[] args) {
            //Schedule a job for the event dispatch thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
    ... SwingUtilities.invokeLater... çà ne s'invente pas et c'est pourtant une façon "propre" de lancer l'interface swing.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Je dois avouer que j'ai beaucoup de mal à structurer ma programmation.
    Au début ça passait, mais une fois que ça se complique il faut avouer que ça devient difficile
    Je vais devoir m'y atteler...
    Merci pour les infos en tous cas et si jamais quelqu'un avait un bon tutoriel qui fournirait un exemple sur un exo bien structuré avec des textfield, combobox, bouton,... en interaction avec une base de donnée je suis preneur!

Discussions similaires

  1. Probléme d'insertion de la date dans la base access
    Par chahinaz21 dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/11/2009, 21h33
  2. Réponses: 2
    Dernier message: 25/10/2009, 23h37
  3. [DOM XML] Insertion d'un fils dans php
    Par khafor dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 06/10/2009, 11h45
  4. [MySQL] problème d'insertion des caractères arabe dans une base mysql
    Par sasaas dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/03/2008, 11h56
  5. Problème d'insertion d'une table dans une autre
    Par capitaine dans le forum Access
    Réponses: 5
    Dernier message: 26/09/2006, 16h44

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