|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.02.2009, 14:12 | #1 |
Регистрация: 26.11.2008
Сообщений: 3
|
Проблема выгрузки большого списка в Access
Всем привет. Никто не сталкивался с такой проблемой?
Необходимо выгрузить большой список (>100 тыс. записей) из TList в таблицу Access. Использую TADOConnection+TADOTable. Записи отстортированы по дате и времени. Выгружаю в цикле (для примера упростил): with Table do begin Open; for i := 0 to List.Count-1 do begin Append; FieldNames['D'] := Items[i]^.D; FieldNames['T'] := Items[i]^.T; Post; end; Close; end; Вроде примитивный цикл и проблем быть не должно. Однако при просмотре файла .mdb обнаруживаю, что хотя исходный список был отсортирован и выгружался последовательно, в файле часть дат переместилась выше/ниже положенного, т.е. нарушился порядок сортировки. Причем сбои наблюдаются "кусками", т.е. такое впечатление, что часть записей была выгружена с опозданием. Есть подозрение, что проблемы не в коде, а в какой-то буферизации, может быть в MS Jet OLE. Цикл быстрый, пробовал вводить задержки Sleep(), не помогло. Прошу помощи, а то уже подумываю о переходе на InterBase/Firebird, если не решу проблему с Access. |
25.02.2009, 13:47 | #2 |
Форумчанин
Регистрация: 29.01.2009
Сообщений: 411
|
Попробуй в цикл вставить
Application.ProcessMessages; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
До проги не доходит сигнал выгрузки операционной системы | Altera | Общие вопросы Delphi | 6 | 30.08.2008 18:03 |
Проблема с записью большого файла | Rembo | Свободное общение | 17 | 17.06.2008 12:47 |
создание БД Access в Delpi и проблема!!! | bmb_66 | БД в Delphi | 4 | 02.01.2008 10:48 |
В combobox выбирать данные из списка таблицы (Access) | Inbox | БД в Delphi | 1 | 15.06.2007 10:45 |