Показать сообщение отдельно
  #28  
Старый 04.06.2011, 15:18
Аватар для SpectraL
SpectraL SpectraL вне форума
Начинающий
 
Регистрация: 19.05.2011
Адрес: Санкт-Петербург
Сообщения: 112
Версия Delphi: 10.1 Berlin
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Ну собственно загрузить в массив можно так:
Код:
Var i: Integer;
    Data: Array of Integer;
begin
 SetLength(Data, AdoQuery1.RecordCount);
 while not AdoQuery1.Eof
 do begin
    Data[i] := AdoQuery1.Fields[2].AsInteger;
    AdoQuery1.Next;
    end;
Я тут поэкспериментировал и пришел к следующим результатам: загрузка 18000 записей из CSV-файла в динамический список (вроде динамического массива) занимает около 1 секунды, а загрузка 18000 записей из ACCDB-базы данных в динамический список занимает около 10 секунд. При загрузке из ACCDB-базы данных на выполнение следующего кода уходит около 9 секунд:
Цитата:
while ADOQuery1.Eof = False do
begin
ADOQuery1.Next;
end;
Можно ли процедуру Next заменить чем-нидь более эффективным?
Ответить с цитированием