Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Tquery,кэшированные данные и DBF таблицы


lightix ©   (2004-12-03 13:09:00) 

Ситуация такая: имеется TQuery c CachedUpdates=true, табличка DBF без индексов.
Таблица чистится, пакуется с помощью DBIPACKTABLE, программно в нее заносятся данные.
Если сохранить данные (ApplyUpdates,CommitUpdates) , а затем их открыть, то через раз - записи то в той последовательности в которой их заносили, то задваиваются ...
Причем если добавление записей и их сохранение происходили в пределах одной минуты (например на часах при добавлении и при сохранении 12:00), то все нормально, если же время различается - то записи двоятся ...

Из за чего может происходить такое?

Каким образом можно отобразить данные в той последовательности в которой их добавляли? Есть ли у DBF поле, аналогичное ROWID в оракле?


Johnmen   (2004-12-03 14:41:00) [1]

Во-во. Раскомментарь - и всё заработает...
:))))))))))))


lightix   (2004-12-03 14:35:00) [2]

а, все, вижу, в примере на 17 строке комментарий :)


lightix   (2004-12-03 14:34:00) [3]

Ниче не понял. Говоришь загадками какими то


Johnmen   (2004-12-03 14:33:00) [4]

Ну ёлы-палы...
17 строка.
:)


lightix   (2004-12-03 14:30:00) [5]

Ну то что CommitUpdates чистит кеш я уже понял, но от этого не легче... всеравно через раз работает


Johnmen   (2004-12-03 14:09:00) [6]

Не надо врать. ApplyUpdates+F1


lightix   (2004-12-03 13:50:00) [7]

Нету там такого...
Заметил сейчас еще что если выполнять сохранение один раз, то все ок, если же сохранить, а потом изменить какие то данные и снова сохранить - в конец файла добавляется те строки которые были изменены между сохранениями.

Ну подскажите, народ, че делать?


Johnmen   (2004-12-03 13:40:00) [8]

Спроси у F1


lightix   (2004-12-03 13:31:00) [9]

И каким образом кеш почистить?


Johnmen   (2004-12-03 13:29:00) [10]

Ответ - ошибка в 17 строке.
Предположение - не чистится кеш.
Ответы на остальные вопросы - в учебниках, хелпах, доках.


Наверх

Титульная страница Поиск, карта сайта Написать письмо