guns65
Messages postés32Date d'inscriptionmardi 28 septembre 2010StatutMembreDernière intervention26 février 2014
-
4 janv. 2013 à 17:48
guns65
Messages postés32Date d'inscriptionmardi 28 septembre 2010StatutMembreDernière intervention26 février 2014
-
4 janv. 2013 à 19:53
salut !! j'ai tou essayé pour faire marcher la table model mais je n'arive pas si vous pouvez m'aider pour me dire ou modifier mon code !! il marche bien mais juste il fiche la base sur le jtable sans actualisation !!
class Fournisseur extends JPanel implements ActionListener {
public Connection con ;
public Statement st ;
public ResultSet rs ;
JOptionPane option = new JOptionPane();
JLabel l1 = new JLabel(" Id-F");
JLabel l2 = new JLabel(" Nom-F");
JLabel l3 = new JLabel(" Prenom-F");
JLabel l4 = new JLabel(" Adresse");
JLabel l5 = new JLabel(" N° Telephone");
JLabel l6 = new JLabel("total des fournisseurs");
JLabel l7 = new JLabel("");
JLabel l8 = new JLabel("");
JTextField t1 = new JTextField();
JTextField t2 = new JTextField();
JTextField t3 = new JTextField();
JTextField t4 = new JTextField();
JTextField t5 = new JTextField();
JTextField t6 = new JTextField();
JButton bt1 = new JButton("Ajouter");
JButton bt2 = new JButton("Supprimer");
JButton bt3 = new JButton("Selectionner");
JButton bt4 = new JButton("update");
public JPanel p1 = new JPanel();
public JPanel p2 = new JPanel();
public JPanel p3 = new JPanel();
public JPanel p4 = new JPanel();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e5){
System.out.println("impossible de chargern les drivers");
}
try{
String url="jdbc:odbc:test";
con=DriverManager.getConnection(url, "","");
}
catch(SQLException e5)
{
System.out.println("impossible de créer une connexion");
}
}
//////////////////////////////////////////////
//////////////////////////////////////fermeture/////////////////////////////////////
public void fermeture(){
try {
rs.close();
st.close();
con.close();
}
catch(SQLException e){}
}
/////////////// recuperer le text dans le textfield ///////////////////////////////////////////////////////////////////
public String gett1() {
return t1.getText();
}
//////
public String gett2() {
return t2.getText();
}
//////
public String gett3() {
return t3.getText();
}
//////
public String gett4() {
return t4.getText();
}
//////
public String gett5() {
return t5.getText();
}
//////////////////////////////executer le requete lors de lappuis du bouton //////////////////////////////////////////
public void actionPerformed(ActionEvent e){
Object src=e.getSource();
if(src instanceof JButton){
JButton var=(JButton) src;
///////////////////////ajouter//////////////////////
if (var==bt1) {
try
{
connection();
st=con.createStatement();
String req ="INSERT INTO Fournisseur VALUES('"+gett1()+"','"+gett2()+"','"+gett3()+"','"+gett4()+"','"+gett5()+"')";
int c =st.executeUpdate(req);
t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText("");
option.showMessageDialog(this,"Fournisseur ajouté avec succes");
fermeture();
}
catch(SQLException e1){
e1.printStackTrace();
option.showMessageDialog(this, "Erreur d'ajout.", "Inane error", JOptionPane.ERROR_MESSAGE);////msg d'erreur//////
}
}
////////////////////supprimer//////////////
else if (var==bt2){
try
{
connection();
st=con.createStatement();
String req2="DELETE * FROM Fournisseur WHERE prenom =('"+gett3()+"') ";
int b =st.executeUpdate(req2);
t3.setText("");
option.showMessageDialog(this,"Fournisseur supprimé avec succes");
KX
Messages postés16752Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 août 20243 019 4 janv. 2013 à 18:42
Evidemment il faudrait tester avec ta BDD, mais normalement ça donne quelque chose comme ceci :
private static final String title[] = {"id", "nom","prenom","adresse","n°telephone"};
private final DefaultTableModel myData;
private final JTable table;
public Fournisseur()
{
myData = new DefaultTableModel();
myData.setColumnIdentifiers(title);
table = new JTable(myData);
...
Attention, après tu as des lignes qui utilisent data[][] et qu'il faut remplacer car l'intérêt du TableModel est de ne plus avoir ce tableau data[100][100].
guns65
Messages postés32Date d'inscriptionmardi 28 septembre 2010StatutMembreDernière intervention26 février 2014 4 janv. 2013 à 18:51
je declare data comment i me dit !!
error: array dimension missing Object[][] data = new Object[][];
merci beacoup !!
guns65
Messages postés32Date d'inscriptionmardi 28 septembre 2010StatutMembreDernière intervention26 février 2014 4 janv. 2013 à 19:13
je l'ai chage par Object[][] data = new Object[n][];
mais quand je selectione un nom sa apparait mais quand je selectione a nouveau sa aparait sous les autre !! mois je veux efacer l'ancienne requete et aficher la nouvelle et quand je duprime rien ne marche ca reste dans le stableau :)
KX
Messages postés16752Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 août 20243 019 4 janv. 2013 à 19:28
Si tu utilises un TableModel, tu n'as plus besoin de data[][], tu peux le supprimer partout.
Pour effacer les lignes tu dois pouvoir faire comme ça :
myData.setRowCount(0);
Si ça ne fonctionne pas, tu peux forcer la suppression avec :
while (myData.getRowCount()!=0)
myData.removeRow(0);
guns65
Messages postés32Date d'inscriptionmardi 28 septembre 2010StatutMembreDernière intervention26 février 2014 4 janv. 2013 à 19:53
4 janv. 2013 à 18:51
error: array dimension missing Object[][] data = new Object[][];
merci beacoup !!
4 janv. 2013 à 19:13
mais quand je selectione un nom sa apparait mais quand je selectione a nouveau sa aparait sous les autre !! mois je veux efacer l'ancienne requete et aficher la nouvelle et quand je duprime rien ne marche ca reste dans le stableau :)
4 janv. 2013 à 19:28
Pour effacer les lignes tu dois pouvoir faire comme ça :
Si ça ne fonctionne pas, tu peux forcer la suppression avec :
4 janv. 2013 à 19:53