У меня есть таблица в mySQL и имеет 3 строки, которая имеет имя, адрес, телефон, возраст, заряд. в двух из них имена "Адам", а последняя строка - "Абас", я не знаю, почему она печатает на консоли, как это, пожалуйста, помогите мне спасибо!
Statement s;
int s4,s5;String s1,s2,s3;
List<InfoClass> clientList = null;
try {
s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM customer_info WHERE Name LIKE 'A%'");
InfoClass list = null;
while (rs.next()) {
s1 = rs.getString(2);
if (rs.wasNull()) {
s1 = null;
}
s2 = rs.getString(3);
if (rs.wasNull()) {
s2 = null;
}
s3 = rs.getString(4);
if (rs.wasNull()) {
s3 = null;
}
s4 = rs.getInt(5);
if (rs.wasNull()) {
s4 = 0;
}
s5 = rs.getInt(6);
if (rs.wasNull()) {
s5 = 0;
}
list = new InfoClass(s1, s2);
if (clientList == null) {
clientList = new ArrayList<InfoClass>();
}
clientList.add(list);
}
for(int i=0;i<clientList.size();i++){
InfoClass c =clientList.get(i);
System.out.println(c.getName());
}
в консоли:
run:
Adam Smit
Adam Smit
Abas
Adam Smit
Adam Smit
Adam Smit
Adam Smit
Я хочу, чтобы результат был таким:
run:
Adam Smit
Adam Smit
Abas
У вас, похоже, есть клиент с именем "Abas" в вашей базе данных, который является допустимым для вашего запроса.
Лучше использовать метод rs.getString(String columnLabel).
Не могли бы вы изменить строку println
на это:
System.out.println("" + i + ": " + c.getName());
и запустите его?
@Johanna
: что это выводит?