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

meryem_228 Messages postés 8 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 10 juin 2005 - 9 juin 2005 à 10:52
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.

}

7 réponses

cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010
9 juin 2005 à 11:08
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
0
meryem_228 Messages postés 8 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 10 juin 2005
9 juin 2005 à 11:46
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.
0
cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010
9 juin 2005 à 11:55
resultset.getString(1) va retourner le 1er champ de la requête

donc en faisant un

setValueAt( resultset.getString(1), 1, 1)
0
meryem_228 Messages postés 8 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 10 juin 2005
9 juin 2005 à 11:59
j'ai essayé mais ça plante (erreur de compilation) ligne =1 je crois qu'il faut incrémenter .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
meryem_228 Messages postés 8 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 10 juin 2005
9 juin 2005 à 11:59
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
0
meryem_228 Messages postés 8 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 10 juin 2005
9 juin 2005 à 13:23
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!
0
cs_biboobib Messages postés 95 Date d'inscription dimanche 29 juillet 2007 Statut Membre Dernière intervention 27 août 2011 1
25 août 2007 à 16:10
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!!
0
Rejoignez-nous