Это плохой дизайн. Вы смешиваете свой интерфейс и базу данных вместе. Ваш код не годится, если вы переходите с Swing на веб-интерфейс. Сложнее тестировать и отлаживать так же.
Разбейте проблему на две части: доступ к базе данных и отображение Swing.
Иметь один объект, который ничего не делает, кроме запроса результатов, и загружать их в структуру данных.
Есть другой, который ничего не делает, кроме как принимает структуру данных и загружает ее в пользовательский интерфейс Swing для отображения.
В вашем приложении база данных будет отделена от интерфейса пользователя. Ваша жизнь в тестировании и отладке будет проще.
Опубликуйте больше кода и, возможно, сообщение об ошибке поможет нам помочь вам быстрее, чем угадывать.
Цикл по столбцам в наборе результатов кажется мне подозрительным. Они бегут от 1 до количества столбцов, но вы начинаете с 2. Почему? Если в вашем запросе пять или меньше столбцов, у вас возникнет проблема.