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

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

Как закрывать пройденные записи в OracleDataSet


ali_tash ©   (2005-11-02 19:17:00) 

Проблема такая:
я выбираю данные из таблицы с большим количеством записей
в OracleDataSet и в цикле их все перебираю.
На очень больших таблицах выдаётся сообщение OutofMemory.даже если свойство QueryAllRecords:= False
то память всё равно кончится но позже.
Можно конечно надстроить ещё один цикл и выбирать по 1000
записей, но хотелось бы узнать можно ли освободить те записи которые я уже прошёл, т.е. паралельно с открытием следующей порции записей закрывать предыдущие ?


ali_tash   (2005-11-02 20:46:00) [1]

Sam Stone

Можно пример ?


Sam Stone   (2005-11-02 20:43:00) [2]

Скорее всего нельзя. QueryAllRecords грузит записи по мере необходимости, чтобы не заставлять пользователя ждать, пока загрузятся все данные, но не освобождает память от ранее загруженных.
ИМХО дешевле и проще подгружать по 5-10к записей, отталкиваясь от rownum (путаю наверняка. От номера записи короче)


Наверх

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