Innanzitutto grazie per la risposta.
Il codice del mio modello è il seguente:
codice:
public class ResSetTableModel extends AbstractTableModel {
private ResultSet rs;
private ResultSetMetaData rsmd;
public ResSetTableModel(ResultSet newRS) {
rs=newRS;
try {
rsmd=newRS.getMetaData();
} catch (SQLException e){
e.printStackTrace();
}
}
public int getColumnCount() {
try{
return rsmd.getColumnCount();
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
@Override
public String getColumnName(int c) {
try {
return rsmd.getColumnName(c + 1);
}
catch(SQLException e) {
System.out.println("Error " + e);
return "";
}
}
public void updateTable(ResultSet rs) {
this.setResultSet(rs);
this.fireTableDataChanged();
}
protected ResultSet getResultSet() {
return rs;
}
public void setResultSet(ResultSet res) {
this.rs=res;
try {
this.rsmd=res.getMetaData();
} catch(SQLException e) {e.printStackTrace(); }
}
public int getRowCount() {
try {
rs.last();
return rs.getRow();
} catch(SQLException e){
e.printStackTrace();
return 0;
}
}
public Object getValueAt(int row, int col) {
try {
rs.absolute(row+1);
return rs.getObject(col+1);
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
}
e il codice che riguarda l'aggiunta del nuovo record è questo:
codice:
public void newRecord() {
Linee l=new Linee();
JavaApplication5PUEntityManager.persist(l);
JavaApplication5PUEntityManager.getTransaction().commit();
JavaApplication5PUEntityManager.clear();
JavaApplication5PUEntityManager.getTransaction().begin();
try {
rs=ps.executeQuery();
} catch(SQLException e) {}
model.updateTable(rs);
Linee ll=JavaApplication5PUEntityManager.find(Linee.class, l.getIDlin());
setCurrentRecord(ll);
setNuovo(true);
}
dove rs è un ResultSet ed è una variabile globale, stessa cosa per ps che è un PreparedStatement.
Ribadisco che sono totalmente nuova a questi argomenti, perciò non faccio fatica a credere che ci sia un errore grossolano da qualche parte..
Grazie mille per l'aiuto