![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток.
Есть такая ситуация: надо заполнить список возможных значений выбора TComboBox набором вариантов из базы данных. Обычно использовал стандартный вариант: 1) Запрос (к примеру "Select Name from Streets") 2) Последовательная пробежка по записям возвращенного итога запроса, и загонка их в список значений TComboBox (вроде "ComboBox1.Items.Add(ADOQuery.FieldValues['Name']) ). А если записей окажется несколько тысяч? Например, надо будет внести в набор вариантов все улицы крупного города при открытии формы карточки нового объекта. Трата времени, тем более на слабых машинах. TComboBox.Items является классом TStrings. Можно ли получить из результатов SQL-запроса список значений одного конкретного поля в в этом же формате (TStrings)? Тогда теоретически можно было бы использовать код присваивания, что-то вроде (фантазирую) ..... ComboBox1.Items:=ADOQuery.FieldByName('Name').Valu es ..... Такой функции у TADOQuery нет, напечатал для примера. Можно было бы съэкономить уйму времени через операцию прямого присваивания, а не использовать последовательную пробежку и наполнение TStrings по одному значению. Какие мысли есть, друзья? |
#2
|
||||
|
||||
![]() В принципе правильно ты думаешь
![]() |