Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема обработки базы данных

40K
28 июня 2008 года
4p3
2 / / 28.06.2008
Доброе время суток, форумчане!
В офисе есть база данных в формате Access 97. Сама база весит 600 мегабайт. Мне необходимо выбрать из поля "Номер телефона" все уникальные записи и реализовать возможность выбора номеров. Я использовал DBComboBox в связке с DataSource и ADOQuery. Запрос в ADOQuery выглядит так:

SELECT DISTINCT [Номер телефона] as Номер
FROM Статистика

Затем я результаты запроса помещаю в DBComboBox.
 
Код:
while (!ADOQueryNums->Eof)
{    
                         DBComboBox->Items->Add(ADOQueryNums->FieldByName("Номер")->AsString);
ADOQueryNums->Next();

}


И тут возникает проблема... вся эта реализация находится в FormCreate. Я ни разу не дождался пока обработается этот запрос. Решил тоже самое сделать с DBGrid и результат отобразился на экране.Можно как-то увеличить быстродействие и все-таки добиться загрузки DBComboBox? Или существует способ получения информации из DBGrid?
11
29 июня 2008 года
oxotnik333
2.9K / / 03.08.2007
Если дело в самом запросе то кроме как поменять СУБД ничего не остается, если же дело в цикле, то цикл на заполнение поместить в отдельный поток.
ЗЫ: А надо ли юзеру в комбобоксе такое количество записей? запаришься его листать.
40K
30 июня 2008 года
4p3
2 / / 28.06.2008
Спасибо за ответ, Охотник!
Видимо, проблема оказалась в реализации комбобокса. Вставил листбокс, и все чудесно заработало.
На счет листания могу сказать, что да... я посмотрел на заполненный лист бокс, и поразился количеству записей. Не знаю что пока сделать с интерфейсом, но что-то буду думать. Скорее всего добавлю поиск по маске.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог