TMemoryTable Component

Unit
MemTable

Description
Memory tables are created in RAM and deleted when you close them. They are much faster and are very useful when you need fast operations on small tables. Memory tables do not support certain features (like referntial integrity, indexes, autoincrement fields and BLOBs).
Only logical BDE field types are supported by the in-memory table. Physical field types are not supported. The table is kept in memory if possible, but it could be swapped to disk if the table becomes too big. Maximum table size is 512M with a maximum record size of 16K with a maximum of 1024 fields. Logical Autoincrement and BLOB fields are not supported.



Purpose
Компонента предоставляет доступ к "таблицам в памяти", работу с которыми поддерживает BDE.
Tasks
Вы можете использовать компоненту TMemoryTable для временного хранения небольшого количества структурированных данных. При этом Вы можете обращаться с ними, как с обычным набором данных, аналогичным TTable или TQuery.

Для создания таблицы в памяти Вы должны задать ее структуру (например, добавив необходимые поля в режиме дизайна), и во время работы приложения вызвать метод Open или CreateTable для активизации таблицы в памяти. Если Вы присвоите свойству Active значение True в дизайнере, то таблица в памяти будет создана сразу при загрузке формы.

При вызове метода Close (или присвоении Active := False) таблица в памяти будет уничтожена и все данные потеряны.

Несмотря на то, что BDE не предоставляет возможность удаления записей из таблицы в памяти, компонента TMemoryTable
эмулирует эту операцию (при значении свойства EnableDelete = True). Имейте в виду, что продолжительность операции удаления записи из таблицы в памяти (вызовом метода Delete) растет с ростом числа записей в таблице, поэтому не применяйте многократно подряд метод Delete.



Примеры работы и некоторые интересные свойства и методы.

Applies to
TMemoryTable component

Declaration
property EnableDelete: Boolean;

Description
Свойство EnableDelete позволяет указать, разрешено ли удаление записей из таблицы в памяти при помощи метода Delete. Если значение этого свойства True, то метод Delete вызывает эмуляцию удаления записи из таблицы в памяти. Вы можете установить это свойство в False, если Вам не надо удалять записи из таблицы в памяти и Ваша таблица имеет значительный объем, такой, что эмуляция метода Delete занимает значительное время.