I have this code that should create my JTable column hearders based on the field names returned from my query. For some reason my code is not working, I am very new to Java and I have been doing research but cant seem to find where my issue is. Any help will be greatly appreciated.
public void initTable(){
try {
DefaultTableModel tblModel = new DefaultTableModel()
{
@Override
public boolean isCellEditable(int row, int column)
{
return false;
}
};
tblMain.setModel(tblModel);
tblMain.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//tblMain.getTableHeader().setReorderingAllowed(false);
Connection dbconn = dbConn();
Statement stmt = dbconn.createStatement();
String qry = "SELECT * FROM Services";
ResultSet rs = stmt.executeQuery(qry);
int numCols = rs.getMetaData().getColumnCount();
System.out.println("Num Cols: " + numCols);
for (int col = 1; col <= numCols; col++){
tblModel.addColumn(rs.getMetaData().getColumnLabel(col));
//tblModel.addColumn("Tmp");
System.out.println(col + " - " + rs.getMetaData().getColumnLabel(col));
}
int row = 0;
while (rs != null && rs.next()){
tblModel.addRow(new Object[0]);
tblModel.setValueAt(rs.getString("ServiceID"), row, 0);
tblModel.setValueAt(rs.getString("Institution"), row, 1);
tblModel.setValueAt(rs.getString("Doctor"), row, 2);
tblModel.setValueAt(rs.getString("Street"), row, 3);
tblModel.setValueAt(rs.getString("City"), row, 4);
tblModel.setValueAt(rs.getString("State"), row, 5);
tblModel.setValueAt(rs.getString("ZipCode"), row, 6);
tblModel.setValueAt(rs.getDate("Date"), row, 7);
tblModel.setValueAt(rs.getDouble("Cost"), row, 8);
tblModel.setValueAt(rs.getInt("ServiceTypeID"), row, 9);
tblModel.setValueAt(rs.getString("Comments"), row, 10);
row++;
}
rs.close();
}
catch (Exception e){
e.printStackTrace();
}
}