Bonjour,
J'ai une base de donnée et j'essaie de faire une procédure qui récupère le resultat d'une requête et l'affiche dans une Jtable.
-Langage de prog: java.
-IDE: eclipse 3.0.2.
-BDD: oracle 10g.
Mais j'ai un souci je n'arrive pas car il y a un conflit de type, j'arrive pas a transtyper un type int en Object.
La ligne en question est indiquée ci dessous dans le code de ma procédure.
//fonction qui va afficher le tableau
public void afficherTableau()
{
//on fait disparaitre les boutons inutiles
btnExporter.setVisible(false);
btnImprimer.setVisible(false);
pnlPreview.removeAll();
pnlPreview.repaint();
pnlPreview.validate();
DefaultTableModel modell = new DefaultTableModel();
JTable table = new JTable(modell);
//les colonnes ou on va mettre les données
Object tab1[] = {""};
Object tab2[] = {""};
Object tab3[] = {""};
//Chacune des colonnes de la JTable...
tab1 = new Object[31];
tab2 = new Object[31];
tab3 = new Object[31];
//Ajout des colonnes précédemment déclarées
modell.addColumn("No Prog", tab1);
modell.addColumn("Date", tab2);
modell.addColumn("Nb Blocs/pg", tab3);
//table.setAlignmentX(2);
//table.setAlignmentY(3);
modell.addColumn("No Prog", tab1);
modell.addColumn("Date", tab2);
modell.addColumn("Nb Blocs/pg",tab3);
//on force la taille du tableau
table.getColumnModel().getColumn(0).setPreferredWidth(100);
table.getColumnModel().getColumn(1).setPreferredWidth(100);
//ajout de la table dans le form
JScrollPane JSP = new JScrollPane(table);
//System.out.println("la hauteur est de:"+JSP.getHeight()+" la largeur ="+JSP.getWidth());
JSP.setSize(pnlPreview.getSize());
JSP.setPreferredSize(new Dimension(pnlContenuPreview.getSize().width, pnlContenuPreview.getSize().height-10));
JSP.setLocation(2,40);
//System.out.println("x:"+JSP.getX()+"y"+JSP.getY());
//JScrollPane myScrollPane = new JScrollPane(table);
JSP.setVisible(true);
PreparedStatement PS=null;
ResultSet RS=null;
final String QUERY_INDIC_TPS_SEJOUR_CSO=
"SELECT PROGRAMME.NUM_PROG,"+
"TO_CHAR(MIN(COMMANDE.PREM_ENF),'DD/MM/YYYY'), "+
"SUM (COMMANDE.QBL)"+
"FROM PROGRAMME, COMMANDE"+
"WHERE ( (PROGRAMME.NUM_PROG = COMMANDE.NUM_PROG)"+
"AND (PROGRAMME.NUM_CONT= ?)"+
"AND (TO_CHAR((COMMANDE.PREM_ENF), 'YYYY')= ?))"+
"GROUP BY PROGRAMME.NUM_PROG";
int conteneur=0;
int annee=0;
try{
//on récupère les variables passés en paramètre
PS=getConnection().prepareStatement(QUERY_INDIC_TPS_SEJOUR_CSO);
PS.setInt(1, conteneur);
PS.setString(2, new Integer(annee).toString());
RS=PS.executeQuery();
while (RS.next()){
//on stocke le résultat de la requête dans des variables
int num_prog=RS.getInt(1);
java.sql.Timestamp Date_enf=RS.getTimestamp(2);
int Nb_Bloc=RS.getInt(3);
//===>Comment ajouter les données dans la table sachant qu'il y a un problème de transtypage de int en Object??!!!
}
}
catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erreur : "+e);
System.err.println("Erreur lors de l'execution d'un traitement SQL!");
e.printStackTrace();
}
finally
{
close(PS, RS);
}
this.add(JSP);
}
MERCI de m'aider, c'est urgent!!!
Miriam.
