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

Java Discussion :

Insertion de données dans une table en fonction des champs remplis


Sujet :

Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Insertion de données dans une table en fonction des champs remplis
    Salut a tous.
    je travail sur un formulaire de gestion de clients.j'arrive a inserer les données sans problème.mon soucis est que j'ai deux tables différentes: une table "client_physique" et une table c"client_moral". j'aimerai que lorsque l'utilisateur entre les données d'un client physique ou moral que les données soient inserées dans la table qui lui est destiné.

    voici ma fonction qui permet d'enregistrer:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
     
    public void enregistrer(){
     
              if(cmb_statut.getSelectedItem()== null)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ Raison social"); 
               return;
     
            }
            else
            statut = cmb_statut.getSelectedItem().toString();
     
     
     
     
     
               if(cmb_fonction.getSelectedItem()== null)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ fonction"); 
               return;
            }
            else
            fonction = cmb_fonction.getSelectedItem().toString();
     
     
              if(cmb_sexe.getSelectedItem()== null)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ sexe"); 
               return;
            }
            else
            sexe = cmb_sexe.getSelectedItem().toString();
     
     
             ///////////////////////////////////////////////////////////////
            if(jTextnom.getText().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ nom"); 
               return;
            }
            else
            nom = jTextnom.getText();
            if(jTextprenom.getText().length() == 0)
            {
                JOptionPane.showMessageDialog(null, "remplir le champ prenom"); 
                return;
            }
            else
            prenom = jTextprenom.getText();
            if(jDateChooser1.getDate().toString().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ date de naissance"); 
               return;
            }
            else
            datenaiss = jDateChooser1.getDate().toString();
            if(jTextlieunaiss.getText().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ lieu de naissance"); 
               return;
            }
            else
            lieunaiss = jTextlieunaiss.getText();
            if(jTextcnib.getText().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ cnib"); 
               return;
            }
            else
            cnib = jTextcnib.getText();
             if(jTextville.getText().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ ville"); 
               return;
            }
            else
            ville = jTextville.getText();
            if(jTextphone1.getText().length() == 0)
            {
                JOptionPane.showMessageDialog(null, "remplir le champ telephone"); 
                jTextphone1.setText("");
                return;
            }
            else
            telephone = jTextphone1.getText();
     
            if(jTextemail.getText().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ email"); 
               return;
            }
            else
            email = jTextemail.getText();
     
            if(jTextboitepostale.getText().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ boite postal"); 
               return;
            }
            else
            boitepostal = jTextboitepostale.getText();
     
            if(jTextcodepostal.getText().length() == 0)
            {
               JOptionPane.showMessageDialog(null, "remplir le champ code postal"); 
               return;
            }
            else
            codepostal = jTextcodepostal.getText();
     
     
     
            try {
                st = Logiciel.cnx.createStatement();
     
     
     
         //st.executeUpdate("insert into client_physique (code_postal,email_client1,phone_client_bureau,adr_client,nom_client, prenom_client, sexe_client, datenaiss_client, cnib_client) VALUES ('"+codepostal+"','"+email+"','"+telephone+"','"+boitepostal+"','"+nom+"', '"+prenom+"', '"+sexe+"', '"+datenaiss+"', '"+cnib+"')");
     
                st.executeUpdate("insert into client_moral (code_postal,email_client1,phone_client_bureau,adr_client,nom_client, cnib_client) VALUES ('"+codepostal+"','"+email+"','"+telephone+"','"+boitepostal+"','"+nom+"', '"+cnib+"')");
     
     
     
     
                JOptionPane.showMessageDialog(null, "CLIENT ENREGISTRER AVEC SUCCES");
                jTextnom.setText("");
                jTextprenom.setText("");
                jDateChooser1.setDateFormatString("");
                jTextlieunaiss.setText("");
                jTextcnib.setText("");
                jTextville.setText("");
                jTextphone1.setText("");
                jTextemail.setText("");
                jTextboitepostale.setText("");
                jTextcodepostal.setText("");
                cmb_statut.setSelectedIndex(-1);
                cmb_fonction.setSelectedIndex(-1);
                cmb_sexe.setSelectedIndex(-1);
     
     
     
            } catch (SQLException ex) {
                //Logger.getLogger(Creation.class.getName()).log(Level.SEVERE, null, ex);
                JOptionPane.showMessageDialog(null,ex.toString());
            }
        }

  2. #2
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Il me semble que le plus simple est de tester ta propriété statut. Si elle est sur physique tu exécute la première requête, sinon la deuxième.
    Par contre, quand tu vérifie tes champs utilisés uniquement pour la personne physique (prénom, ...), pense à rajouter un teste pour vérifier que c'est bien une personne physique, sinon ta personne morale ne passera jamais sans erreur vu que les xhamps seront vide. Et à ta place, je rajouterai un booléen rempli qui passe à faux si une case n'est pas remplie, et tu le teste avant de faire ta requête d'update, sinon elle sera exécutée même quand il manque des champs...
    Enfin fait un PreparedStatement plutôt qu'une concaténation, c'est plus propre.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 857
    Points
    1 857
    Par défaut
    +1 pour le PreparedStatement : si un des champs contient un ' (par exemple certains noms étrangers), votre requête ne fonctionnera pas. Sans compter les pirates qui le font exprès (technique connue sous le nom d'injection SQL si ça vous intéresse).

Discussions similaires

  1. [Oracle] problème d'insertion de données dans une table sous oracle
    Par Zombiman dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/05/2009, 14h58
  2. [MySQL] Insertion de donnée dans une table
    Par cheik_koita dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/04/2009, 00h16
  3. [MySQL] PHP-MySQL: Insertion de donnée dans une table vide
    Par jrosenzw dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/03/2009, 02h11
  4. insertion de donnée dans une table (2 bd)
    Par robert_trudel dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/01/2007, 17h41
  5. Réponses: 5
    Dernier message: 26/01/2007, 08h11

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