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 :

Vérifier l'existence d'un enregistrement avant insertion


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Points : 21
    Points
    21
    Par défaut Vérifier l'existence d'un enregistrement avant insertion
    Bonjour j'ai écrit ce code pour vérifier l'existence d'un enregistrement avant l'insertion mais il ne fonctionne que dans la 1ere partie du if (en gras) le else ne marche pas
    Je ne sais pas où se situe le problème . please help 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
    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
     private DefaultTableModel dt;
    try{
                         
                        if (cbvn.isSelected()){  
                        pst=con.prepareStatement(sqlattvn);
                                             
                            boolean b=false;
                            for(int j=0; j<dt.getRowCount() ;j++){
                                if ((txtnumattestvn.getText())==dt.getValueAt(j,0)){
                                    b=true;
                                    break;
                                }
                            }
    
                            if (b==false){
                                 
                                
                                pst.setString(1,txtnumattestvn.getText());
                                pst.setString(2,date.toString());                            
                                pst.setString(3,datef.toString());
                                pst.setString(4,txtpolicevn.getText());
                                
                                pst.execute();                             
                                affichermodelvn();
                                
                                JOptionPane.showMessageDialog(null, "Enregistrement effectué avec succès !");
                            }
                            else{
                                JOptionPane.showMessageDialog(null, "Ce numero d'attestation existe déja");
                                
                                    txtnumattestvn.setText("");
                                    txtdateffet.setText("");
                                    txtdatefin.setText("");
                                    txtpolicevn.setText("");
                                      
                                
                            }
                        }

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    cette ligne ne convient pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((txtnumattestvn.getText())==dt.getValueAt(j,0)){
    En Java les objets, dont notamment les String, doivent être comparés avec equals(), pas avec ==
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Merci pour votre réponse rapide
    J'ai modifié le code comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((txtnumattestvn.getText()).equals(dt.getValueAt(j,0))){
    Mais le résultat est le même
    Merci de votre aide

  4. #4
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par patnership Voir le message
    Merci pour votre réponse rapide
    J'ai modifié le code comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((txtnumattestvn.getText()).equals(dt.getValueAt(j,0))){
    Mais le résultat est le même
    Merci de votre aide
    Bonjour,
    Essaie de faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((txtnumattestvn.getText().trim()).equals(dt.getValueAt(j,0).toString().trim())){
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  5. #5
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Tout d'abord, ton code verifie que la donnée dans le textbox est présent dans le DefaultTableModel et pas dans la BDD. Ca veut dire que si tu lances 2 fois ton executable et que tu inseres 2 fois le meme enregistrement, ca va pas marcher.
    Le mieux, c'est de verifier l'existence de l'entrée dans la requete. Un truc du genre "INSERT INTO MATABLE(MAVALEUR) (SELECT 'coco' WHERE NOT EXISTS SELECT MAVALEUR FROM MATABLE WHERE MAVALEUR = 'coco')"

    Comme ca, si la valeur a été insérée, tout va bien. Et si elle n'est pas insérée, message d'erreur. Tu profites des mécanismes de la BDD qui evitent les modifications simultanées.

    Pour revenir à ton probleme, le mieux, c'est de faire un System.out.println() du text de la textbox ainsi que des données récupérées de ton model. Tu as probablement, comme ca a été sous entendu dans les messages précédents, un probleme d'espaces qui trainent ou quelque chose comme ca.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Merci ça marche avec cette modification

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((txtnumattestvn.getText().trim()).equals(dt.getValueAt(j,0).toString().trim())){

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

Discussions similaires

  1. Vérifier la présence d'un enregistrement avant insertion
    Par Avatar36 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/01/2015, 22h38
  2. [MySQL] vérifier l'existance d'un enregistrement avant insertion
    Par patheoson dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/01/2010, 12h47
  3. [MySQL] Vérifier l'existance d'une entrée avant l'insertion dans une BD
    Par mitchb dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/02/2008, 13h30
  4. Tester l'existence d'un enregistrement avant son ouverture
    Par Fredo67 dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/01/2008, 17h15
  5. [MySQL] Vérification de la présence d'enregistrement avant insertion
    Par Odilon dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 28/09/2005, 15h30

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