Afficher le résultat d'une requete SQL dans une JTable

Messages postés
8
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
10 juin 2005
- - Dernière réponse : cs_biboobib
Messages postés
95
Date d'inscription
dimanche 29 juillet 2007
Statut
Membre
Dernière intervention
27 août 2011
- 25 août 2007 à 16:10
Bonjour tout le monde,

Je veux afficher le résultat d'une requete sql dans une JTable, est ce que quelqu'un a une idée sur la manipulation des JTable avec les ResultSet? sinon est ce quelqu'un pourrait me proposer une autre structure permettant d'afficher les données de la requete.
(En fait j'ai essayé une autre structure ( le JTextArea avec la methode append pour afficher ) mais le probleme est que les données ne sont pas bien organisés.)

Merci d'avance pour votre collaboration précieuse.

Voici une portion du code :

try {
String query = "SELECT * FROM T_Etudiant";
ResultSet resultset = statement.executeQuery(query);
while(resultset.next()) {

// Traitement des résultats dans un JTable.

}
Afficher la suite 

7 réponses

Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010
0
Merci
tu dois pouvoir faire un truc du genre

setValueAt( resultset.getString(i), ligne, colonne)

et tu incrémente i, en fonction du nombre de champs que tu récupère, puis ligne et colonne en fonction de ou tu veux les mettre dans ton JTable
Commenter la réponse de cs_grhum59
Messages postés
8
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
10 juin 2005
0
Merci
bonjour ,
j'ai essaye la methode "setValueAt( resultset.getString(i), ligne, colonne)" par exemple pour afficher la premiere colonne de la table T_Etudiant dans la 1ere colonne du JTable.
je crois qu'il faut incrémenter la ligne. n'est ce pas ? (parce que c'est dynamique) sinon pour la colonne est ce qu'il faut renseigner la position exemple 1,2,3...........
merci de votre aide.
Commenter la réponse de meryem_228
Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010
0
Merci
resultset.getString(1) va retourner le 1er champ de la requête

donc en faisant un

setValueAt( resultset.getString(1), 1, 1)
Commenter la réponse de cs_grhum59
Messages postés
8
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
10 juin 2005
0
Merci
j'ai essayé mais ça plante (erreur de compilation) ligne =1 je crois qu'il faut incrémenter .
Commenter la réponse de meryem_228
Messages postés
8
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
10 juin 2005
0
Merci
bonjour ,
j'ai essayé d'ajouter une methode pour afficher les données de la requete sql
voici le code de cette methode.

JTable remplirTable() throws SQLException {
Vector tabLignes=new Vector(), nomCols=new Vector();
int i;
try {
String query = "SELECT * FROM T_Etudiant";
ResultSet resultset = statement.executeQuery(query);
ResultSetMetaData md = resultset.getMetaData();
nomCols = new Vector();
for( i=1; i<=md.getColumnCount (); i++)
nomCols.add( md.getColumnLabel(i));
// Mémoriser le résultat dans la JTable
while( resultset.next()) {
Vector ligne=new Vector();
for(i=1; i<=3; i++) {
String ch=resultset.getString(i);
ligne.add(ch);
}
tabLignes.add(ligne);
}

con.close();
}
catch(Exception e) { e.printStackTrace(); }


return new JTable(tabLignes,nomCols);
}

j'ai associé cette méthode à un bouton "test"

jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {

try {
JTable table = remplirTable();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

le probleme est que quand je clic sur le bouton rien ne s'affiche meme pas un message d'erreur je ne sais si c'est un probleme de code ou quoi?
est ce que quelqu'un a déja essayé cette solution?

merci de votre collaboration
Commenter la réponse de meryem_228
Messages postés
8
Date d'inscription
jeudi 9 juin 2005
Statut
Membre
Dernière intervention
10 juin 2005
0
Merci
Bonjour,
Y a t'il d'autres structures permettant d'afficher les données d'une requete sql ( données organiser en colonnes) autres que le composant JTable?
est ce que quelqu'un à une idée ?
j'ai essayé différentes solutions avec JTable d'afficher une requete sql
select * from table1
j'ai suivi une procédure décrite dans un document sur le site:

http://www.iut-orsay.fr/~astier/app_csi/a_jdbc.html
j'ai essaye la methode setValueAt()

mais ça bloque!( j'ai vérifier ma connexion à la base c'est OK, dans un JText Area j'arrive à récuperer les données de la table mais bon il faut un moyen plus organiser )

est ce quelqu'un peut m'aider!
c'est urgent
merci merci merci d'avance!
Commenter la réponse de meryem_228
Messages postés
95
Date d'inscription
dimanche 29 juillet 2007
Statut
Membre
Dernière intervention
27 août 2011
0
Merci
salut tt le monde!!
j'ai
un JTable connecté sur une base de donnée, j'ai écrit la requéte avec
laquelle j'enregistre les donnée dans la base mais le problém c'est a
chaque fois je j'ajout un ligne et j'enregistre , il enrigistre tout
les les lignes a nouveaux!!
j ve que seulment la ligne ajouté soit ajouter a la base!!
il s'agit de mise a jour!!
merci d'avance!!
Commenter la réponse de cs_biboobib