begin process at 2010 02 10 13:33:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

lundi 2 juin 2008 à 09:19:01 | récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

beberto56

Bonjour,

comment puis je envoyer le résultat d'une requête dans un jTextField tout en sachant que ce résultat sera dépendant de la sélection qui aura été faite dans une combo box avant.*
En fait j'ai une combo box dans laquelle je récupère une liste de pays, et lorsque je sélectionne FRANCE dans la liste par exemple, je voudrait que paris apparaissent automatiquement dans le champs de texte capitale qui suit.
Les informations se trouve dans une base de données sql server.

Merci d'avance.

JULIEN.
lundi 2 juin 2008 à 13:22:10 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

pokitos

Je pars sur le principe que tu sais faire la requete;

tu recupere ton ResultSet res (pour jdbc);

et tu fais jtextfield.setText(res.getString(1));

Tu implemente ça soit dans un bouton que tu as créé, soit dans un actionlistener du combobox


///
jComboBox.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBox.ActionPerformed(evt);
            }
        });

private void xpActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
envoie de la requete ;
jtextfield.setText(res.getString(1));
}
catch(Exception e){
}
}
lundi 2 juin 2008 à 13:40:59 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

Chatbour

Membre Club
Salut,

voici la réponse en gros titres, et nous pourrons par la suite développer chaque étape :

1. Développer une méthode capitaleFromPays() :

cette méthode :

    a) se connecte à la base.
    b) exécute une requête SELECT  du genre :
          select capitale from pays where nomPays = '" + tonCombo.getSelectedItem().toString() + "'";

    c) récupère le résultat de la requête et ferme tout flux ouvert (ResultSet, Connexion avec la base..).


2. Ajout d'un ItemChangeListener à l'objet JComboBox en question : la méthode itemStateChange(ItemEvent e) initialise l'objet JTextField du résultat obtenu par la méthode capitaleFromPays().


Cordialement..
lundi 2 juin 2008 à 13:48:52 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

Chatbour

Membre Club
désolé pokitos , j'aurais dû raffraishir

petite correction : itemStateChanged(ItemEvent e)

+1 pour le ActionListner au lieu du ItemListener : le ItemListener nécessite un test du genre :
if(e.getStateChange() == 1) // ItemEvent e




lundi 2 juin 2008 à 13:50:41 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

Chatbour

Membre Club
pour ne pas effectuer l'action deux fois !


lundi 2 juin 2008 à 15:46:46 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

beberto56

Re à tous les deux,

tout d'abord merci pour votre aide mais je n'y arrive toujours pas voici ce que j'ai créé grâce à vos explications:

package testaccesdonnees;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Main extends javax.swing.JFrame {
   
   //déclaration des variables de départ
    static Connection con = null;
    static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    static Statement stm2 = null;
    static ResultSet rs2 = null;
    static Statement stm3 = null;
    static ResultSet rs3 = null;
   
   
    public Main() {
       
        initComponents();
    }

    private void etatConnexionActionPerformed(java.awt.event.ActionEvent evt) {                                             

}                                            

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        
             
                //fermeture connection
                 if(con !=null)
                {
                    try{
                        con.close();
                        etatConnexion.setText("Système non connecté à SQL Server");
                    }catch(SQLException e){
                        etatConnexion.setText("Problème de déconnexion");
                    }
                }
                this.dispose();
    }                                       

    private void jComboBox2ActionPerformed(java.awt.event.ActionEvent evt) {

    }

    private void jComboBox2ItemStateChanged(java.awt.event.ItemEvent evt) {
    
       //mise en place requête de récupération de l'adresse liée au site
        try
        {
            String SQL3 = "SELECT adresse FROM site WHERE intitulex3 = '" + jComboBox2.getSelectedItem().toString() + "'";
            stm3 = con.createStatement();
            rs3 = stm3.executeQuery(SQL3);
            jTextField1.setText(rs3.getString("adresse"));
        } catch (SQLException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
       
    }
   

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                new Main().setVisible(true);
               
                try
                {
                     Class.forName(driver);
                     String connectionUrl = "jdbc:sqlserver:*************;" +
                     "databaseName=ansamble;user=**;password=**;";
                     con = DriverManager.getConnection(connectionUrl);
                     etatConnexion.setText("Système connecté à SQL Server");
                     String SQL2 = "SELECT * FROM site";
                     stm2 = con.createStatement();
                     rs2 = stm2.executeQuery(SQL2);

                     while (rs2.next())
                     {
                        jComboBox2.addItem(rs2.getString("intitulex3"));
                     }
                 }
                 catch (ClassNotFoundException ex) {
                      System.out.println(ex);
                 }       
                 catch (SQLException e) {
                       etatConnexion.setText("Probleme de connection "+ e.toString());
                 }      
          }
        });
    }

Lorsque je fais ceci ou si je place la requête dans l'ActionPerformed à la place du ItemStateChanged sa ne fonctionne pas et sa me renvoi comme erreur :

          com.microsoft.sqlserver.jdbc.SQLServerException: Le jeu de résultat n'a pas de ligne actuelle.

Pourtant ma requête fonctionne dans sqlserver, ma connection à la base fonctionne et ma jComboBox2 récupère bien la liste des valeurs de la requête 2.

Si vous pouvez me dire ce qui ne vas pas svp????

Merci d'avance^^.

Julien.
lundi 2 juin 2008 à 17:47:41 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

Chatbour

Membre Club
Salut,

désolé de ne pas pouvoir lire ton code (j'ai pas le temps : entrain de travailler), mais j'ai voulu te dire qu'il faut éviter les static tant que ce n'est pas nécessaire..

autre chose, je te conseille d'encapsuler ta connexion à ta base dans une classe : c'est plus élégant et plus orienté objet..

lundi 2 juin 2008 à 17:56:58 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

pokitos

rajoute avant le while , rs2.beforefirst(); (ou first ou First je me rapelle plus.)
lundi 2 juin 2008 à 17:58:28 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

pokitos

parcontre si tu sais que n'as qu'un resultat, vire le while et tu fais:

rs2.first();
r2.getString("intitulex3");
lundi 2 juin 2008 à 18:04:40 | Re : récupération d'une données dans un jTextField en fonction de la sélection dans une comboBox

pokitos

c'est rs2.beforeFirst();

en fait le probleme vient que dans le while tu demandes le suivant des le debut mais si tu n'as qu'un résultat(une ligne) il ne peux pas entrer dans la boucle.

donc d'ou  ma seconde solution, si tu sais que tu n'as qu'une ligne en resultat
tu leve le while et tu fais

rs2.first(); puis getString()

J'espere que c'est plus clair comme ça.

1 2

Cette discussion est classée dans : fonction, données, sélection, récupération, jtextfield


Répondre à ce message

Sujets en rapport avec ce message

Sélection de JTextField [ par Oli ] Salut,Quelqu'un saurait-il comment facilement permettre à un utilisateur de sélectionner visuelement des JTextFields dans un programme graphique comme Récupération données POST en JSTL [ par duga315 ] Bonjour, je voudrai savoir comment faire pour récupérer des données issues d'un formulaire en POST et sela par l'intermédiaire de balises JSTL.Merci ! JDialog & variables [ par swiss_cheese10 ] Tcho tout le monde !Alors j'arrete pas de me prendre la tete sur ce probleme et ca m'enerve alors je viens trouver de l'aide vers vous...Dans mon prog fonction encode de URLEncoder [ par MarsL ] je n'arrive pas a utiliser la fct encode s ke qq'1 peut me donner un exemple avec les import appropriesex:str_description : string a encoderstr_descri JTable [ par SuLEy ] Bon j'ai un probleme qui commence a me souler depuis 1 semaine donc je vé voir avec les spécialistes ici ;)Donc ne connaissant pas les JTable je m'y s Déclencher une action en fonction de la date [ par cedd ] Bonjour!Je programme en php, mais là, je crois (en fait j'espere) que seul le java pourra m'aider.Je voudrais executer mon code php tous les lundi (pa copier des données d'un fichier texte vers une jtable [ par kaliel ] bonjour, je débute en java et ma questiob est peut être simple mais bon.je voudrais envoyer des données qui sont dans un fichier texte du style:1,"nom transfert de données entre programmes [ par bimbol18 ] bonjour a tous!dans le cadre de mon stage de licence je suis censé "réaliser un état de l'art présentant les différents moyens de transférer des donn Inclure un Jar dans un applet [ par shawn ] Bonjour à tous,J'ai crée un applet qui recherche des données dans une base de données mysql lorsque je compile mon applet sous Eclipse tout fonctionne Imprimer le contenu d'un JTextField !!!HELP!!! [ par mkt2001 ] Bonjour a tous,Je voudrais imprimer via un ActionListener sur un JButton le contenu d'un JtextField.Ci-join mon code source. Lorsque je le fait tourne


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales