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 :

ResultSet et variable à définir.


Sujet :

JDBC Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut ResultSet et variable à définir.
    Bonjour la Communauté,

    Je voudrais remplacer le ? par la BIRTHDATE équivalente au CHILDNAME mais ne sais ou définir le variable nécessaire au ?.
    Mais dans mon cas il m'indique la valeur du CHILDNAME suivant.

    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
        private void cboNatureActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
       if (cboNature.getSelectedItem().toString().equalsIgnoreCase("412")){
     
                   jPanel2.setVisible(true);
       conn = ConnectDecisions.ConnectDB();
       Statement requete;
                       try {
                       requete = conn.createStatement();
                       int MatrSelect = Integer.parseInt(txtMatricule.getText());
     
                          //  Date ChildNaiss = rsEnfts.getTime(2); 
                          ResultSet rsEnfts= requete.executeQuery("select EMPLOYEENBR,CHILDNAME,BIRTHDATE from Enfts where EMPLOYEENBR = '"+ MatrSelect+"' and BIRTHDATE= ?");
     
     
                         while(rsEnfts.next()) {
                             {
                         cboChildName.addItem(rsEnfts.getString(2)); 
                         txtChildBirth.setText(rsEnfts.getString(3));
     
                         } 
     
                   } 
                       } catch (SQLException ex) {
                           Logger.getLogger(AddData.class.getName()).log(Level.SEVERE, null, ex);
                       }
       }
    else {
      jPanel2.setVisible(false);
    }

  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
    Utilise un PreparedStatement, et les méthodes setXXX pour définir la valeur de ton paramètre.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut
    Bonsoir à tous,

    J'ai ultilse un preparedStatement mais le probleme c'est que le birthDate correspond au birthdate suivant le childname.
    Childname - BirthDate + 1 (next+1)

    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
        private void cboNatureActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
       if (cboNature.getSelectedItem().toString().equalsIgnoreCase("412")){
     
                   jPanel2.setVisible(true);
       conn = ConnectDecisions.ConnectDB();
       int MatrSelect = Integer.parseInt(txtMatricule.getText());
     
       //stmt.setString(1, MatrSelect); 
     
       try {
       PreparedStatement stmt = conn.prepareStatement("select EMPLOYEENBR,CHILDNAME,BIRTHDATE from Enfts where EMPLOYEENBR = '"+ MatrSelect+"'");
     
       ResultSet rs = stmt.executeQuery();
     
     
                         while(rs.next()) {
     
                         cboChildName.addItem(rs.getString(2)); 
                         txtChildBirth.setText(rs.getString(3)); 
                } 
                       } catch (SQLException ex) {
                           Logger.getLogger(AddData.class.getName()).log(Level.SEVERE, null, ex);
                       }
       }
    else {
      jPanel2.setVisible(false);
    }
     
        }

  4. #4
    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
    Désolé je n'ai pas compris ton problème.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut
    en fait dans ma DB j'ai

    1234 Eric 1/1/2000
    1234 Patrick 23/4/2010

    Lorsque je sélectionne 1234 j'ai Eric et Patrick qu apparaissent dans ma Combobox.

    Mais Eric apparaît en premier. Ca c'est ok mais avec la date 23/4/2010 au lieu de 1/1/2000.

    Ma date apparaît dans un texfield TxtChildBirth.

    Par contre id, firstname et naiss sont corrects

    Nom : Annotation 2019-03-12 091512.jpg
Affichages : 81
Taille : 51,7 Ko

    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
        private void cboNatureActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
       if (cboNature.getSelectedItem().toString().equalsIgnoreCase("412")){
     
                   jPanel2.setVisible(true);
       conn = ConnectDecisions.ConnectDB();
       int MatrSelect = Integer.parseInt(txtMatricule.getText());
     
       try {
       PreparedStatement stmt = conn.prepareStatement("select EMPLOYEENBR,CHILDNAME,BIRTHDATE from Enfts where EMPLOYEENBR = '"+ MatrSelect+"'");
       ResultSet rs = stmt.executeQuery();
     
      System.out.println("SQL Statement:\n\t" + MatrSelect);
     
                         while(rs.next()) {
               			String id = rs.getString("EMPLOYEENBR");
    				String firstName = rs.getString("CHILDNAME");
    				String Naiss = rs.getString("BIRTHDATE");
    				System.out.println("ID: " + id + ", First Name: " + firstName + ",BIRTHDATE: " + Naiss);            
                         cboChildName.addItem(firstName);
                         txtChildBirth.setText(Naiss); 
                } 
                       } catch (SQLException ex) {
                           Logger.getLogger(AddData.class.getName()).log(Level.SEVERE, null, ex);
                       }
       }
    else {
      jPanel2.setVisible(false);
    }
     
        }

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Citation Envoyé par HABILER Voir le message
    J'ai ultilse un preparedStatement
    Oui mais tu l'as mal utilisé le preparedStatement. Regarde ceci et corrige ton code pour commencer ça sera pas plus mal.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    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
    Si je lis bien ton code, tu effectues
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtChildBirth.setText(Naiss);
    dans ta boucle de récupération des données issues de ta base.
    Donc ton champ contiendra la dernière valeur récupérée.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    470
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 470
    Points : 149
    Points
    149
    Par défaut
    Mais pourquoi alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String Naiss = rs.getString("BIRTHDATE");
    est-il bon et le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtChildBirth.setText(Naiss);
    ne l'est pas.

    Ils sont dans la même boucle.

    J'ai même essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txtChildBirth.setText(rs.getString(3));
    mais rien n'y fait

Discussions similaires

  1. [DTD] Comment définir un sous-arbre variable?
    Par heffer69 dans le forum Valider
    Réponses: 3
    Dernier message: 25/06/2006, 10h34
  2. Réponses: 3
    Dernier message: 09/04/2006, 09h10
  3. [FTP] Définir une variable en tant que constante
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 15/01/2006, 11h39
  4. [Netbeans] Comment définir CardLayout en variable?
    Par yoplaboom dans le forum NetBeans
    Réponses: 1
    Dernier message: 06/07/2005, 11h42
  5. Réponses: 7
    Dernier message: 07/09/2004, 14h16

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