Мне нужна помощь о том, как вернуться к следующей записи в наборе результатов, возвращаемом Java. Я использую базу данных MySQL.
Вот код внутри события формы. Где я загружаю первый набор результатов, который возвращается:
if (rs.next()) {
jLabel5.setText(rs.getString("Question"));
jRadioButton1.setText("A. " + rs.getString("A"));
jRadioButton2.setText("B. " + rs.getString("B"));
jRadioButton3.setText("C. " + rs.getString("C"));
jRadioButton4.setText("D. " + rs.getString("D"));
}
А вот кнопка, которая должна использоваться для прокрутки вперед по базе данных.
Мне нужно выполнить rs.beforeFirst, потому что вещи, которые отображаются в jFrame, не совпадают с переменной, которую я пытаюсь проверить:
try {
rs.beforeFirst();
if (rs.next()) {
jLabel5.setText(rs.getString("Question"));
jRadioButton1.setText("A. " + rs.getString("A"));
jRadioButton2.setText("B. " + rs.getString("B"));
jRadioButton3.setText("C. " + rs.getString("C"));
jRadioButton4.setText("D. " + rs.getString("D"));
if (jRadioButton1.isSelected()) {
rval = jRadioButton1.getText().charAt(0);
if (String.valueOf(rval).equalsIgnoreCase(rs.getString("Answer"))) {
JOptionPane.showMessageDialog(null, "Correct! Your answer is " + rval + " answer is: " + rs.getString("Answer"));
} else {
JOptionPane.showMessageDialog(null, "Wrong! your answer is " + rval + " answer is: " + rs.getString("Answer"));
}
}
}
}catch (Exception e) {
e.printStackTrace();
}
У меня вопрос, как мне продолжать прокручивать базу данных? Потому что набор результатов не прогрессирует, когда я использую rs.beforeFirst () перед rs.next ()
Я также попытался сделать:
while(rs.next()){...}
Это сработало, но не позволило мне выбрать то радио, которое я хочу. И он продолжал выполняться до конца набора результатов даже без ручного нажатия на кнопку (для прокрутки) несколько раз. Пожалуйста, помогите мне выяснить, как это можно решить. Если вам нужно больше деталей, просто спросите. Спасибо.