Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод данных из collection, не могу вывести на экран содержимое 
:(
    Опции темы
Valeria
Дата 11.12.2006, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 16.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



вопрос по коллекции

есть код
Код

 Collection users = new ArrayList();
users.add("12345"); 
 Iterator it = users.iterator();
while(it.hasNext())  { out.println(it.next());}


я немного все упростила,но смысл такой: добавляю данные и хочу их распечатать. проблема: ничего не выводит.
может это неправильный способ?

Добавлено @ 12:09 
так,поняла,ошибка в другом,это заработало.
тогда вопрос правильно ли я делаю:

Код

 String query = "SELECT * FROM User ";
        try {
            java.sql.Statement st = con.createStatement();
            java.sql.ResultSet rs = st.executeQuery(query);
            while(rs.next()) {
                UserInfo ui = new UserInfo(rs);
                users.add(ui.getUser());                
            }
            rs.close();
            st.close();
            destroy(con);
        } catch(java.sql.SQLException e) {
            e.printStackTrace();
        }


мне данные из БД нужны
PM MAIL ICQ   Вверх
powerOn
Дата 11.12.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(Valeria @  11.12.2006,  11:59 Найти цитируемый пост)
тогда вопрос правильно ли я делаю:

Ну... а в чем конкретно вопрос? Код не работает? Что не так?




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Valeria
Дата 11.12.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 16.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



не выводит данные,я где-то неправильно их беру из БД.

Добавлено @ 12:24 
если не понятно,то это конструктор класса,по-идее должнен брать данные из базы
Код

 public UserInfo(java.sql.ResultSet rs) throws SQLException{
        {
            setUser(rs.getString("user"));
            setPassword(rs.getString("password"));
            setSurname(rs.getString("surname"));
            setName(rs.getString("name"));
            setSex(rs.getString("sex"));
          //  setDateOfBirth(rs.getDate("dateOfBirth"));
            setCountry(rs.getString("country"));
            setCity(rs.getString("city"));
            setMonth(rs.getString("month"));
            setDay(rs.getInt("day"));
            setYear(rs.getInt("year"));
        }
    }


Это сообщение отредактировал(а) Valeria - 11.12.2006, 12:22
PM MAIL ICQ   Вверх
chief39
Дата 11.12.2006, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Цитата(Valeria @  11.12.2006,  12:22 Найти цитируемый пост)
не выводит данные,я где-то неправильно их беру из БД.

Код полнее нужен.

Где получается коннэкшн? Не вываливается ли нуллпойнтерэксепшн?
Не вываливается ли ещё какой эксепшн? Что вообще пишет в консоль?

Не телепаты ведь smile На вопрос "у меня что-то почему-то не работает. Почему?" ответа нет.
Нужны детали.

Может из базы подтягивает, но список пуст?

Каков размер резалтсета после выполнения запроса? 
И т.п.


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Valeria
Дата 11.12.2006, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 16.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



нашла конктретную ошибку,не работает вот эта функция:
Код

 setPassword(rs.getString("password"));


к базе подключаюсь - это точно,потому что я данные туда так же заношу.
вообщем написала так
Код

setPassword("qqqq");

так все нормально.странно,название столбца совпадает с тем,что в таблице?!в чем тогда ошибка?!
PM MAIL ICQ   Вверх
chief39
Дата 11.12.2006, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Проверь что даёт
Цитата(Valeria @  11.12.2006,  12:56 Найти цитируемый пост)
rs.getString("password")




--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
Bulat
Дата 11.12.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 4
Всего: 57



Valeria, а если реализовать это немного по иному?

Например я делаю так
Код

import java.sql.Timestamp;

public class CollectorsData implements Comparable<CollectorsData> {
    private Integer collectorId;
    private Integer cardId;
    private Integer zoneId;
    private Double cost;
    private Timestamp collectorDate;
    private String calledNumber;

    public CollectorsData(final Integer collectorId, final Integer cardId, final Integer zoneId, final Double cost, final Timestamp collectorDate, final String calledNumber) {
        this.collectorId=collectorId;
        this.cardId=cardId;
        this.zoneId=zoneId;
        this.cost=cost;
        this.collectorDate=collectorDate;
        this.calledNumber=calledNumber;
    }

    public Integer getCollectorId() {
        return collectorId;
    }

    public Integer getCardId() {
        return cardId;
    }

    public Integer getZoneId() {
        return zoneId;
    }

    public Double getCost() {
        return cost;
    }

    public Timestamp getCollectorDate() {
        return collectorDate;
    }

    public String getCalledNumber() {
        return calledNumber;
    }

    public void setCollectorId(Integer collectorId) {
        this.collectorId = collectorId;
    }

    public void setCardId(Integer cardId) {
        this.cardId = cardId;
    }

    public void setZoneId(Integer zoneId) {
        this.zoneId = zoneId;
    }

    public void setCost(Double cost) {
        this.cost = cost;
    }

    public void setCollectorDate(Timestamp collectorDate) {
        this.collectorDate = collectorDate;
    }

    public void setCalledNumber(String calledNumber) {
        this.calledNumber = calledNumber;
    }

    public int compareTo(final CollectorsData CollectorsData) {
        return cardId.compareTo(CollectorsData.cardId);
    }

}


Код

public class Cards{
...

    public CollectorsData[] getCollectors_data() throws SQLException {
 ...
        List Cdata = new ArrayList();
 ...
            while (rs.next()) {

                    CollectorsData element = new CollectorsData(rs.getInt("collector_id"), rs.getInt("card_id"), rs.getInt("zone_id"), rs.getDouble("cost"), rs.getTimestamp("collector_date"), rs.getString("called_number"));
                    Cdata.add(element);
            }
        ...
        return (CollectorsData[]) Cdata.toArray(new CollectorsData[Cdata.size()]);
    }

}



Не сложно подогнать под себя, вообщем при такой реализации у меня проблем не возникает  smile 

Это сообщение отредактировал(а) Bulat - 11.12.2006, 13:16


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
goodday1941
Дата 11.12.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: 1
Всего: 9



Код

Collection users = new ArrayList();
users.add("12345"); 
 Iterator it = users.iterator();
while(it.hasNext())  { out.println(it.next());}


такс

это что то мне вообще не понравилось... может так попробвать:

Код

Collection< Integer> users = new HashSet<Integer>(); // можно и ArrayList, с одного быстрее читать, в другой быстрее писать, кому что нужнее =)
users.add(12345);
for (Integer userID: users){
System.out.println("userID = " + userId);
}


а юзать итератор не советую, у мну с ним бывали проблемы, не надежный он, forEach рулит smile

а вообще пост Bulat смотри там все гуд написано =)

Это сообщение отредактировал(а) goodday1941 - 11.12.2006, 13:33


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
Valeria
Дата 11.12.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 16.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Bulat, хотела сделать так же, но такая вот ошибка 

generic are not supported in source 1.4
try source 1.5 to enable 

это после объявления класса public class UserInfo implements Comparable<CollectorsData>{

не знаю где это надо исправить? использую NetBeans IDE 5.0
PM MAIL ICQ   Вверх
Valeria
Дата 11.12.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 16.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



вообщем осталось только это

Это сообщение отредактировал(а) Valeria - 11.12.2006, 14:16
PM MAIL ICQ   Вверх
LSD
Дата 11.12.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15719
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Valeria @  11.12.2006,  13:53 Найти цитируемый пост)
не знаю где это надо исправить? использую NetBeans IDE 5.0

File\"Project" Properties\Source Level поставить в 1.5


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Valeria
Дата 11.12.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 16.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



LSD, спасибо нашла
PM MAIL ICQ   Вверх
Bulat
Дата 11.12.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 4
Всего: 57



Valeria, если ты решила воспользоваться моим примером для реализации, то тогда прошу более полный код и стэктрэйс. 
Цитата(Valeria @  11.12.2006,  14:10 Найти цитируемый пост)
пишет что типы не подходят, java.lang.string и string 

потому как понятно что за ошибка, однако не совсем понятно где именно smile 

ну если разобралась, тогда все ок  smile 

Это сообщение отредактировал(а) Bulat - 11.12.2006, 14:19


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Valeria
Дата 11.12.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 16.5.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Bulat, хорошо класс я написала,а как теперь вывод данных делать? уже нельзя iterator использовать?
PM MAIL ICQ   Вверх
Bulat
Дата 11.12.2006, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: 4
Всего: 57



допустим где-то в коде в консоль можно выводить таким образом:

Код

...
        CollectorsData[] CdArray = getCollectors_data();
        Arrays.sort(CdArray); //это если используешь компаратор, а так необязательно
...
            for (int i=0; i<CdArray.length; i++) {
                System.out.println(CdArray[i].getCardId());
            }
...



--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1289 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.