paul
4 janv. 2009 à 17:19
bonjour , j'ai un probléme je me connecte à la BD à partir du programme en java j'ai insérer des ligne dans la BD mais le probléme c'est k'il m'affiche pas les attributs ( matricule,nom,prénom,tel,age) il m'affiche que les lignes que j'ai insérer dans la BD dans l'interface pouvez vous m'aidez SVP qu'est ce que je dois changer dans le code comment faire et merci d'avance
import java.awt.*;
import java.io.*;
import java.sql.*;
import javax.swing.*;
import java.util.*;
public class Interfacee extends JFrame {
JPanel panneau=new JPanel();
JTable table=new JTable();
Connection c = null;
Statement stm=null;
ResultSet rs = null;
public Interfacee()
{
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
c = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "system", "123");
System.out.println("Connection établie");
} catch (ClassNotFoundException e)
{
System.out.println("Oracle :Pilotes non chargés");
} catch (SQLException ex)
{
System.out.println("Oracle : Connection non établie");
}
Vector <String> NomCol=new Vector<String>();
NomCol.add("matricule");
NomCol.add("nom");
NomCol.add("prénom");
NomCol.add("tel");
NomCol.add("age");
Vector <Object> ob=new Vector<Object>();
try {
stm=c.createStatement();
rs=stm.executeQuery("Select * from enseignant ");
while(rs.next()){
Vector <Object> ob1=new Vector<Object>();
ob1.add(rs.getString("matricule"));
ob1.add(rs.getString(2));
ob1.add(rs.getString(3));
ob1.add(rs.getInt(4));
ob1.add(rs.getInt(5));
ob.add(ob1);
}
} catch (SQLException e)
{
System.out.println("Erreur d'affichage ");
}
table.setModel(new javax.swing.table.DefaultTableModel(ob,NomCol));
panneau.add(table);
this.add(panneau,BorderLayout.CENTER);
setBounds(400,400,400,400);
this.setTitle("Gestion des enseignants");
}
public static void main(String[] args) throws IOException, SQLException{
Interfacee I=new Interfacee();
I.setVisible(true);
}
}
ce que vous proposez n marche pas, rien n'est affiché dans ce cas.
mais enfin j'ai trouvé 1 solution : il faut remplacer DefaultTableModel model = new DefaultTableModel( lign, cols);
par ce là: model.setDataVector(lign, cols); et n'oublions pas d'initialiser model au début :
DefaultTableModel model = new DefaultTableModel( );
A+