23 listopada 2007

Odświeżanie JTable po wstawieniu rekordu do bazy danych[JAVA]

Poniżej znajduje się funkcja odświeżająca tabele po wstawieniu rekordu do bazy danych:

Implementacja zmiennych:

private DefaultTableModel nazwa_kolumny = new DefaultTableModel(){
public boolean isCellEditable(int row, int column) {
return false;
}
private TableColumn kolumna = new TableColumn();
private int i =0;
private String nKolumn[] = null;
private int ColumnCount;
private ResultSet records;

Funkcja odświeżająca rekord:

private void refreshJTable() {
int rows = nazwa_kolumny.getRowCount();
if(rows>0) {
for(int knt=rows-1;knt>=0;knt--) {
nazwa_kolumny.removeRow(knt);
}
}
}

Funkcja wstawiająca rekordy z tabeli i wykorzystujaca wyczyszczenie tabeli:

public void StartQuerySelect(String sql) {
refreshJTable();
TCreateComponents.queryB.selectSQL(sql);
records = TCreateComponents.queryB.getRecords();
try {
ResultSetMetaData rsmd = TCreateComponents.queryB.getRecords().getMetaData();
int ColumnCount = rsmd.getColumnCount();

while(records.next()) {
Object[] objects = new Object[ColumnCount];
for (int i=0;i objects[i]=records.getObject(i+1);
}
nazwa_kolumny.addRow(objects);

}


} catch(Exception ex){
ex.printStackTrace();
}

}