Comment afficher les resultat d'une requete sql dans une textarea [Résolu]

Signaler
Messages postés
3
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
23 mars 2008
-
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
-
salut  a tous
je voudrai savoir Comment afficher les resultat d'une requete sql dans une textarea
j'ai essayé beacoups de code mais ca marche pas
on faisant System.out.Println les resultat s'affiche mais sur la console et pas dans le textarea.
voici le code que j'ai ecrit:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

class Liste_patient extends Frame

{
   
   
    JTextArea ta;
   
    public Liste_patient()
        {
   
    ta=new JTextArea(40,40);
   
    JPanel p=new JPanel();
   
    p.add(ta);
    add(p,"Center");
    setVisible(true);
    setTitle("Listes des Patient");
    pack();
    addWindowListener(new WindowAdapter()
         {public void windowClosing(WindowEvent ev)
         {
             dispose();}
         }
         );
   
    }
   
     
       
    public void connection(){
    String requete="SELECT * FROM patient";
    try{
   
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:source1");
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery(requete);
   String a2="";
   String a3="";
   String a4="";
   String a5="";
   String a6="";
   String a7="";
   String a8="";
   int a1=0;
   while(rs.next())
   {
        a1=rs.getInt("num");
        a2=rs.getString("nom");
        a3=rs.getString("age");
        a4=rs.getString("adresse");
        a5=rs.getString("numtel");
        a6=rs.getString("remarque");
        a7=rs.getString("numordo");
        a8=rs.getString("ordo");
        System.out.println(a1+"\n "+a2+"\n "+a3+"\n "+a4+" \n"+a5+" \n"+a6+" \n"+a7+" \n"+a8+"\n");
        ta.setText(Integer.toString(a1)+"|");
        ta.setText(a2);
        ta.setText(a3);
        ta.setText(a4);
        ta.setText(a5);
        ta.setText(a6);
        ta.setText(a7);
        ta.setText(a8);
        }
  
  
  stmt.close();
  con.close();
  }
   
   catch(Exception exc){
 }
 

    }
}

7 réponses

Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
Salut,

j'ai pas essayé ton code mais le fait de faire ta.setText à chaque fois remplace l'ancien contenu de ta.

tu peux par exemple faire :
ta.setText(ta.getText() + ai); //(i:=1..8)
ou utiliser un objet String où tu mets les ai puis tu fais:
ta.setText(ta.getText() + objString);
Messages postés
3
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
23 mars 2008
1
enfin ca marche problemme resolu merci a tous

Bonjour lezoku

Apprends à lire la documentation Java!!!!!!!!!!! setText() sert à remplir toute la JTextArea. Donc à chaque fois, dans ton code, tu écrases ce que tu venais d'écrire juste avant. D'abord, fais ta.setText(""); pour vider l'air de texte juste avant la boucle while. Dans la boucle, utilise plutôt la méthode append() pour ajouter tes informations.
Va voir dans la documentation Java :
http://java.sun.com/javase/6/docs/api/

A l'avenir, donne toi au moins la peine de lire la documentation avant de poser une question ici s'il te plaît.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
Messages postés
3
Date d'inscription
vendredi 6 janvier 2006
Statut
Membre
Dernière intervention
23 mars 2008
1
j'ai essayé vos solutions mais le champ textarea est toujours vide

Chabour, ça ne sert à rien de répéter la même chose que moi en reformulant à peine! Faire ta.setText(ta.getText()+ai) revient à faire ta.append(ai) !

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
j'ai pas reformulé ce que tu viens d'écrire car tout simplement, j'ai posté avant de lire ton message
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
6 septembre 2010
18
mais je dois dire que ta solution est bien meilleure puisque c'est l'utilisation d'une méthode prédéfinie et non pas un débrouillage comme j'ai fais..