ciao grazie per aver risposto ma non ho capito molto bene...
nel mio dataModel ho gai implementato un metodo che aggiorna i valori di tale modello quando edito la tabella il codice della classe che ho scritto è questo:
codice:
import javax.swing.table.AbstractTableModel;
import java.util.Vector;
public class contattoDataModel extends AbstractTableModel
{
Vector <contatto> dati;
String[] intestazioni;
public contattoDataModel(){
dati = new Vector<contatto>();
intestazioni= new String[]{"Cognome","Nome","Indirizzo","Citta","Telefono"};
}
public contattoDataModel(Vector v){
dati = new Vector<contatto>(v);
intestazioni= new String[]{"Cognome","Nome","Indirizzo","Citta","Telefono"};
}
public int getRowCount(){
return this.dati.size();
}
public int getColumnCount(){
return intestazioni.length;
}
public String getColumnName(int indiceColonna){
return intestazioni[indiceColonna];
}
public Object getValueAt(int indiceRiga, int indiceColonna){
contatto riga = dati.elementAt(indiceRiga);
switch (indiceColonna){
case 0:
return riga.getCognome();
case 1:
return riga.getNome();
case 2:
return riga.getIndirizzo();
case 3:
return riga.getCitta();
case 4:
return riga.getTelefono();
}
return null;
}
public void setValueAt(Object value, int indiceRiga, int indiceColonna){
contatto riga = this.dati.elementAt(indiceRiga);
String valore = (String)value;
switch (indiceColonna){
case 0:
riga.setCognome(valore);
break;
case 1:
riga.setNome(valore);
break;
case 2:
riga.setIndirizzo(valore);
break;
case 3:
riga.setCitta(valore);
break;
case 4:
riga.setTelefono(valore);
break;
}
}
public boolean isCellEditable(int indiceRiga, int indiceColonna){
return true;
}
public void aggiungoContatto(contatto... contatti){
for(contatto Contatto : contatti){
this.dati.add(Contatto);
}
}
}
con il metodo setValueAt() aggiorno i dati nel modello pero poi come faccio per passarli al db? devo fare ogni volta una query di update per ogni cella che edito?
avevo letto che con il metodo updateXXX di resulset si puo aggiornare il resultset e con il metodo updateRow si riportano le modifiche fatte al resultset sul db senza dover passare le query....mi sembra di aver capito che si potesse fare lo stesso anche con l'inserimento di nuove righe e la cancellazione. solo che il testo non riporta esempi e poi come dicevamo i dati su cui lavoro da tabella si trovano nel modello... esiste un modo per far aggiornare anche anche il resulset?