Afficher les elements d'une base de donnée

Mahouch - 28 oct. 2012 à 14:13
 Utilisateur anonyme - 10 déc. 2012 à 00:00
Bonjour,
j'ai crée une base de donnée nommée "base_cafe" dont le table est formé par 2 colonne :
Cafe,Prix avec Access .
mon probleme est comment pourrait-je afficher ce tableau dans mon projet,j'ai fait la connexion
pouvez vous m'aidez,merci d'avance .
Voici mon code :
private void formWindowOpened(java.awt.event.WindowEvent evt) {

DefaultTableModel dt = (DefaultTableModel)cafe_table.getModel();

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:Base_cafe") ;
St=con.createStatement();
Rs=St.executeQuery("Select * From Table_cafe");

while(Rs.next()){
Cafe=Rs.getString("Cafe");
Prix=Rs.getDouble("Prix");
dt.addColumn(new Object[]{Cafe,Prix});
}
St.close();
con.createStatement();
Rs.close();
}catch(ClassNotFoundException | SQLException e)
{
JOptionPane.showMessageDialog(null,"Erreur de connexion\n"+e.getMessage());
}
}

8 réponses

Utilisateur anonyme
28 oct. 2012 à 22:28
Salut,

Même si je n'ai pas trop utilisé les JTables, je pense que tu as tout ce qu'il te faut. Il y a déjà des sujets qui abordent ton problème ici. Va faire un saut dans l'API Java, car tu as déjà le DefaultTableModel, il te manque juste la JTable.

Essaye quelque chose du genre maJTable.setModel(dt);


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 oct. 2012 à 10:26
Salut,

Je pense que ton cast pose problème, mais je ne vois pas la totalité du code, écris plutot DefaultTableModel dt = new DefaultTableModel();

Et ensuite, fais ce qu'a dit Pylouq.
0
salut,
merci pour vous tout d'abord :)
j'ai fait ce que vous m'a dit mais le tableau ne s'affiche pas :(((
voici le code:
private void formWindowOpened(java.awt.event.WindowEvent evt) {

DefaultTableModel dt = new DefaultTableModel();

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:Base_cafe") ;
St=con.createStatement();
Rs=St.executeQuery("Select * From Table_cafe"); //Table_cafe:nom du tableau dans la base de donnees nommee Base_cafe

while(Rs.next()){
Cafe=Rs.getString("Cafe");
Prix=Rs.getString("Prix");
dt.addColumn(new Object[]{Cafe,Prix});
cafe_table.setModel(dt);//maJtable=cafe_table
}
St.close();
con.createStatement();
Rs.close();
}catch(ClassNotFoundException | SQLException e)
{
JOptionPane.showMessageDialog(null,"Erreur de connexion\n"+e.getMessage());
}
}
0
Salut,
voici une autre ideé mais c'est la meme probléme
private void formWindowOpened(java.awt.event.WindowEvent evt) {


try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:Base_cafe") ;
St=con.createStatement();
dt=new DefaultTableModel();
dt.addColumn("Cafe");
dt.addColumn("Prix");
cafe_table.setModel(dt);
affichetab();

}catch(ClassNotFoundException | SQLException e)
{
JOptionPane.showMessageDialog(null,"Erreur de connexion\n"+e.getMessage());

}
}
private void affichetab(){
try{
dt.setRowCount(0);
Rs=St.executeQuery("Select * From Table_cafe");
Cafe=Rs.getString("Cafe");
Prix=Rs.getString("Prix");
Object[] Table_cafe={Cafe,Prix};
dt.addRow(Table_cafe);
}
catch(Exception e){
JOptionPane.showMessageDialog(null,"Erreur affichage\n"+e.getMessage());
}
}
0

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

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 oct. 2012 à 08:23
Il faut que tu affectes ton modèle à une Jtable qui est contenue dans une JFrame, sinon, rien ne sera affiché

JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(300, 300);
f.setLocationRelativeTo(null);
f.add(new JTable(dt));
f.setVisible(true);
0
j'ai fait tout ,et enfin j'ai réussie
merci beaucoup :))
j'ai un autre probléme :((
Dans la fenetre précedente j'ai crée un bouton,lorsque je clique sur ce dernier une autre fenetre s'ouvre,dans cette fenetre il ya un bouton nommé ajouter et autre supprimer:la 1ére me permet de ajouter un café et leur prix et l'autre de le supprimer.j'ai fait la connexion a la base,le jTable et le JFrame voici le code :(c pour l'ajout du café):
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
//verif si existe
boolean b=false;
for(int i=0;i<dt.getRowCount();i++){
if( txtcafe.getText().equals(dt.getValueAt(i, 0))){
b=true;
break;
}
}

if(b == false)
{
St.executeUpdate("Insert into Table_cafe Values("+txtcafe.getText()+",'"+txtprix.getText()+"')");
affichetab();
JOptionPane.showMessageDialog(null,"cafe ajoute");
}else
{
JOptionPane.showMessageDialog(null,"cafe existe deja !!!!!");
txtcafe.setText("");
}

}catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Erreur ajouter cafe\n"+e.getMessage());
}
}
un message d'erreur s'affiche:"Erreur ajouter cafe
[Microsoft][Pilote ODBC Microsoft Acess]Tro peu de paramtre 1 attendu .
aidez moi svp ,merci d'avance :))
0
j'ai trouver l'erreur,j'ai just oublier ' dans la commande Insert !!
merci pour vous :)
0
Utilisateur anonyme
10 déc. 2012 à 00:00
Dans ce cas, clique sur "Réponse acceptée" pour clore le sujet stp, merci :)

Bonne continuation !

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
Rejoignez-nous