Форум: "Базы";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
ВнизРезультат выполнения Query поместить в Список -без Цикла. Найти похожие ветки
← →
Imshanya (2003-02-07 15:09) [0]Уважаемые Мастера???
Можно ли поместить результат запроса например в TStringList,
не использу построчный перебор???.
Например:
...
Query1ObjName:TStringField;
...
Var
L:TStringList;
begin
L:=TStringList.Create;
Query1.SQL.Text:="SELECT ObjName FROM Objects";
Query1.Open;
...
// Вот так не хочу, быстрее можно? Типа Assign ???
While not Query1.Eof Do
begin
L.Add(Query1ObjName.Value);
Query1.Next;
end;
...
L.Free;
end;
Заранее благодарю за внимание!!!
← →
MsGuns (2003-02-07 15:19) [1]Query.SQL.SaveToFile/LoadFromFile ?
← →
Imshanya (2003-02-07 15:27) [2]2 MsGuns
Не, Вы не о том, Батенька! :)
Не инструкцию SQL, а возвращенный набор данных?!
← →
MsGuns (2003-02-07 15:35) [3]Добавляешь Датасет, описываешь его как текстовый НД, а затем BatchMove из своего квери.
← →
Mike Kouzmine (2003-02-07 15:35) [4]Скорее всего нет
← →
Карелин Артем (2003-02-07 15:38) [5]Это самый быстрый.
← →
Imshanya (2003-02-07 15:43) [6]2 MsGuns
Вариант ,конечно и в общем то неплохой!
И все-таки у Борландия есть наверное что-то другое.Что-то я не верю, что они в TDBGrid заносят данные в цикле (по крайней мере в явном цикле). Эх, тяжела и неказиста...
Придется изучать предка TDBGrid.
Может кто еще че подскажет ?
← →
Mike Kouzmine (2003-02-07 15:45) [7]А что, медленно добавляет?
← →
Imshanya (2003-02-07 15:52) [8]2 Mike Kouzmine
Да можно бы и побыстрей! :)
Я ведь говорю о Query1.RecordCount >= 40"000
← →
Mike Kouzmine (2003-02-07 15:55) [9]Ууу.. А зачем стринглист тогда?
← →
Imshanya (2003-02-07 15:56) [10]Похоже, нашел "где собака порылась" - TCollection.
Или я неправ?
← →
Imshanya (2003-02-07 15:59) [11]2 Mike Kouzmine
Так я и говорю, наверное через TCollection
← →
Mike Kouzmine (2003-02-07 16:03) [12]Наверное. Вам виднее.
← →
BlackTiger (2003-02-07 23:36) [13]Да ничего другого там нет.
Там совсем по другому :)
"Просто" используется кэш и блочная загрузка по мере появления на экране (разными способами делается). Данные-то в датасете, а не в гриде.
А вот зачем это "добро" о 40 тысячах в StringList грузить - непонятно...
← →
Johnmen (2003-02-07 23:42) [14]...да-а-а-а-а, 40 штук...это же надо додуматься....:)))
← →
volk (2003-02-08 20:36) [15]Все просто:
У TStringList есть свойства DelimitedText and CommaText
Используй одно из них, причем Delimiter можешь определять сам - любой символ итд... Сформируй строку из своих данных, разделяя их символом Delimiter и присвой все это свойству DelimitedText - Остальное TStringList сделает сам. И так же с CommaText - в хелпе все написано. Есть еще свойство Text - просто текст, но он полезен для чтения всех строк сразу, для записи не разбирался...:)
← →
jack128 (2003-02-08 22:04) [16]2 Volk >Сформируй строку из своих данных<
а как если не секрет сформировать эту строку без цикла?
ЗЫ Но зачем 40000 записей в Stringlist действительно непонятно..
← →
Imshanya (2003-02-10 14:50) [17]Народ!
Вы как дети, ей-богу. Ну чего тут непонятного в "40 тысячах "???
Задачи-то разные бывают! Мне на карте надо маршрут проложить(нарисовать), снятый с GPS: данные из запроса требуют намного больше времени на прохождение циклом, нежели те-же данные, взятые из списка. И это несмотря на то, что тратится время преобразование данных. Приложения бывают подчас и критичными ко времени исполнения.
Или здесь никто не знает числа больше 255 ? :)
Вообще я Вам Всем Очень Благодарен за Внимание И Помощь.На этом форуме публика очень даже приличная(не только в профессиональном аспекте) и отзывчивая.
Так что Спасибо Вам Всем Большое и Успехов в Работе!!!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c