Читать «Виртуальная библиотека Delphi» онлайн - страница 88
Unknown
20. Упаковка таблицы.
Упаковать таблицу DBF можно открыв ее компонентом
Result := DbiPackTable(Table1.DbHandle, Table1.Handle, nil, szDBase, True);
21. Почему я получаю ошибку 'Index out of range' когда использую TTable.FindNearest и TTable.FindKey для таблицы dBase с индексом по выражению?
Методы
22. Как программным образом создать таблицу Paradox с автоинкрементным полем?
Вам следует использовать компонент
CREATE TABLE "PDoxTbl.db" (ID AUTOINC, Name CHAR(255), PRIMARY KEY(ID));
23. Почему я не могу использовать опцию ixUnique при создании индекса в таблице Paradox с помощью метода AddIndex компонента TTable?
Опции, используемые в методе
24. Генерация уникальных идентификаторов для таблиц.
Для более полного ознакомления с этим вопросом рекомендуется обратится к статье Максима Михеенкова в 1-ом номере российского журнала СУБД за 1995 год. А коротко можно сказать следующее.
Для таблиц Paradox вы можете пользоваться специальными типами полей, гарантирующими уникальность значения поля в записи — типы AutoIncrement и TimeStamp (с использованием функций DateXXX — модуль SysUtils).
Для Interbase вы можете использовать генераторы, которые возвращают уникальное значение.
Если же такое решение вам не подходит, то можно перед помещением записи в таблицу отыскивать максимальное уже имеющееся в таблице значение этого поля и заполнять поле в записи значением, на единицу больше. Для разграничения пользователей при одновременном доступе можно хранить это значение в отдельной таблице и открывать ее эксклюзивном режиме.
25. Можно ли использовать Crystal Report с таблицами формата Paradox 5.0?
Да, можно, только если вам удастся получить ODBC-драйвер для таблиц Paradox. Во всяком случае на Crystal BBS находится файл bde.zip, который и содержит этот драйвер.
26. Как открыть таблицу dBase, у которой поврежден (утерян) индексный MDX файл?