Привет, подключаюсь до БД вывожу данные через rs.next(), все ок. Написал функцию для вывода значений в таблицу и получаю каждый раз ошибку
ArrayIndexOutOfBoundsException: 0 >= 0
Понимаю что ошибка с индексом, но что только не изменял ничего не получается
public JTable getTable(String nameTbl){
JTable tbl = new JTable();
String querty = "select * from " + nameTbl;
try {
rs = st.executeQuery(querty);
rsmd = rs.getMetaData();
int countCol = rsmd.getColumnCount();
int countRow = rs.getRow();
javax.swing.table.DefaultTableModel dtm = new javax.swing.table.DefaultTableModel();
dtm.setRowCount(0);
int cC = 0;
int cR = 0;
int n = 0;
String[] nameColumn = new String[10];
int c = 0;
for(int i = 1; i <= rsmd.getColumnCount(); i++){
nameColumn[c] = rsmd.getColumnName(i);
c++;
}
while(rs.next()){
dtm.setRowCount(dtm.getRowCount() + 1);
if(cC < countCol){
dtm.setValueAt(rs.getString(nameColumn[cC]), cC, cR);
cC++;
}
if(cC == countCol) cC = 0;
cR++;
}
tbl.setModel(dtm);
} catch (SQLException ex) {
System.out.println("Error " + ex);
}
return tbl;
}
место возникновения ошибки
dtm.setValueAt(rs.getString(nameColumn[cC]), cC, cR);
посмотрите на сигнатуру метода javax.swing.table.DefaultTableModel.setValueAt
вы кажется попутали cC и cR местами
а также вы нигде не задаете количество колонок dtm.setColumnCount()
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости