colruyt
Messages postés20Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention18 novembre 2004
-
4 mai 2003 à 14:55
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 2004
-
4 mai 2003 à 19:57
Bonjour à tous,
Voici le problème qui se pose à moi :
Dans ma classe principale , je fait appel à 2 classes et chacunes de celle-ci affiche le contenu d'une table access.
Le problème est que le résultat de l'affichage access est le même !!!
J'ai évidement changé le nom de la table dans la requête sql.
Quelqu'un a t il une idée ?
J'ai changé le nom de toutes mes variables mais cela n'a rien changé !!!
en voici une et je mets rouge la table de la seconde
class ResultSetTableModel1 extends AbstractTableModel {
public String[] columnNames1;
public int columnCount1;
public Class[] columnClasses1;
public List rowValues1;
public ResultSetTableModel1(ResultSet x) throws SQLException {
ResultSetMetaData rsm = x.getMetaData();
columnCount1 = rsm.getColumnCount();
columnNames1 = new String[columnCount1];
columnClasses1 = new Class[columnCount1];
for (int i = 1; i <= columnCount1; i++) {
columnNames1[i-1] = rsm.getColumnName(i);
try {
columnClasses1[i-1] = Class.forName(rsm.getColumnClassName(i));
}
catch (ClassNotFoundException clnfe) {
clnfe.printStackTrace();
System.exit(0);
}
}
rowValues1 = new ArrayList();
while (x.next()) {
Object[] values1 = new Object[columnCount1];
for (int i = 1; i <= columnCount1; i++)
values1[i-1] = x.getObject(i);
rowValues1.add(values1);
}
}
public int getColumnCount() {
return columnCount1;
}
public int getRowCount() {
return rowValues1.size();
}
public String getColumnName(int col1) {
return columnNames1[col1];
}
public Class getColumnClass(int col1) {
return columnClasses1[col1];
}
public Object getValueAt(int row, int col1) {
return ((Object[]) (rowValues1.get(row)))[col1];
}
}
class TableViewer1 extends JPanel{
public TableViewer1(final Statement s) {
final JTable table1 = new JTable();
final String requete1 = "select * from Clients"; "Select * from Stock";
try {
s.executeQuery(requete1);
ResultSet x = s.getResultSet();
table1.setModel(new ResultSetTableModel(x));
}
catch (SQLException sqle) {
JOptionPane.showMessageDialog(null, sqle.getMessage(),
"Problème connexion DB", JOptionPane.ERROR_MESSAGE);
}
this.setLayout(new BorderLayout());
this.add(new JScrollPane(table1),"Center");
}
}
public class ListeClients extends javax.swing.JFrame {
public static void main(String[] args) throws Exception {
//TableJDBC t = new TableJDBC();
ListeClients s = new ListeClients();
}
public ListeClients()
{
try
{
Connection con=null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:db","","");
Statement x = con.createStatement();
JFrame frame = new JFrame("Affichage de tous les clients");
frame.getContentPane().add(new TableViewer(x));
//frame.setBounds(2, 5, 15, 10);
//frame.setSize(10,2);
frame.pack();
frame.setVisible(true);
}
catch(ClassNotFoundException cnfe)
{
System.err.println(cnfe);
}
catch(SQLException sqle)
{
System.err.println(sqle);
}
}
}