Неверное количество записей базы данных выводится программой Java

0

У меня есть таблица в 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
  • 0
    Ваш вопрос очень запутан. Пожалуйста, опубликуйте структуру таблицы и ее содержимое. Также, пожалуйста, задайте конкретный вопрос. Какой выход вы ожидали? Какая часть вас удивляет? Без какого-либо конкретного вопроса ваш вопрос будет быстро закрыт.
  • 0
    Запрос на выборку возвращает то же количество строк, что и программа? Это поможет вам определить, связана ли проблема с запросом или с программой.
Показать ещё 1 комментарий
Теги:
database

3 ответа

1

У вас, похоже, есть клиент с именем "Abas" в вашей базе данных, который является допустимым для вашего запроса.

0

Лучше использовать метод rs.getString(String columnLabel).

0

Не могли бы вы изменить строку println на это:

System.out.println("" + i + ": " + c.getName());

и запустите его?

  • 0
    это хорошо работает, знаете, большое спасибо, но в чем была проблема?
  • 0
    @Johanna : что это выводит?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню