То, что я пытаюсь сделать, это получить значения из столбца в моей таблице SQL, в частности столбца с именем SubjectName. Когда у меня есть эти значения, я хочу создать JButtons, названный для каждого значения в ResultSet. Мой текущий код подключается к моей базе данных, и насколько я могу сказать, что запрос к таблице также работает, однако, когда я пытаюсь сгенерировать и добавить эти кнопки в свой экран, try/catch возвращает только то, что мой оператор не удалось. Код вызывает проблемы лежит где-то здесь:Создание панели JButtons со значениями из таблицы SQL;
try
(
Statement initializeDisplay = connect.createStatement()
){
ArrayList<String> buttonList = new ArrayList<String>();
try
{
ResultSet rs = initializeDisplay.executeQuery("SELECT SubjectName from subjectpacktable order by SubjectID");
buttonList = new ArrayList<String>();
while(rs.next())
{
buttonList.add(rs.getString(1));
}
ArrayList<JButton> listOfButtons = new ArrayList<JButton>();
for (int i=0; i < 10; i++)
{
String temp2 = rs.getString(l);
JButton button1 = new JButton(temp2);
listOfButtons.add(button1);
l++;
}
l = 0;
while(listOfButtons.get(l) != null)
{
JButton tempButton = listOfButtons.get(l);
AddCardPanel1.add(tempButton);
l++;
}
while(buttonList.get(l) != null)
{
System.out.println(buttonList.get(l));
l++;
}
l = 0;
}
catch(SQLException e1)
{
System.err.println("Initial Display Failed");
}} catch (SQLException e2)
{
System.err.println("Initial Display Failed");
}
Я интересно, если проблема заключается в самом деле извлечения значения из таблицы или где-то в коде значения не назначены должным образом. Любая помощь приветствуется.
Рекомендация № 1: Улучшение этих уловов блоков таким образом, они говорят вам что-то полезное. По крайней мере, напечатайте стек. то есть 'e1.printStackTrace();' и аналогично для e2, 'e2.printStackTrace();' –
После того, как вы перебираете свой результирующий набор внутри while, вы пытаетесь получить данные из набора результатов в этой команде: 'String temp2 = rs.getString (l); ' Вероятно, это источник ошибки. – Dalton
@Dalton Как бы вы рекомендовали устранить эту проблему? Я вернулся и попытался взять значения из набора результатов и поместить их прямо в список кнопок, однако ошибки все еще сохраняются. Возможно ли, что значения в resultSet не получены правильно? – casey1229j