#java #sql #prepared-statement #jlabel #resultset
#java #sql #подготовленная инструкция #jlabel #результирующий набор
Вопрос:
Мой вывод
-
192.123.123
-
123.344.344
-
152.254.123
И мне нужно создать 3 Jlabel, вот мой код, но создать только 3 Jlabel с первым выводом, и мне нужны три
String val= null;
String sql = "";
sql = "SELECT ipswitch,x,y FROM switch where Act='A'";
try {
com.mysql.jdbc.Statement sta = (com.mysql.jdbc.Statement) cn.createStatement();
ResultSet r = sta.executeQuery(sql);
int contador1=3;
if (r.next() == true) {
for (int i = 0; i < contador1; i ) {
lipe = new javax.swing.JLabel();
lipe.setText(r.getString(1));
paneldesiwtch.add(lipe);
lipe.setBounds(r.getInt(2), r.getInt(3), 100, 40);
green.setLocation(r.getInt(2), r.getInt(3) 40);
yellow.setLocation(r.getInt(2) 30, r.getInt(3) 40);
red.setLocation(r.getInt(2) 60, r.getInt(3) 40);
}
} else {
JOptionPane.showMessageDialog(null, "No Found");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e.toString());
}
Ответ №1:
Вам нужно вызывать next
метод каждый раз, когда вы проходите через цикл for, чтобы курсор перемещался к следующей строке результирующего набора, и таким образом вы получите новые строки. Теперь вы создаете все Jlabels с первым результатом результирующего набора.