22. Как программным образом создать таблицу Paradox с автоинкрементным полем?
Вам следует использовать компонент
CREATE TABLE "PDoxTbl.db" (ID AUTOINC, Name CHAR(255), PRIMARY KEY(ID));
23. Почему я не могу использовать опцию ixUnique при создании индекса в таблице Paradox с помощью метода AddIndex компонента TTable?
Опции, используемые в методе
Index Options | dBase | Paradox |
---|---|---|
ixUnique | * | |
ixExpression | * | |
ixDescending | * | * |
ixNonMaintained | * | * |
ixPrimary | * | |
ixCaseInsensitive | * |
24. Генерация уникальных идентификаторов для таблиц.
Для более полного ознакомления с этим вопросом рекомендуется обратится к статье Максима Михеенкова в 1-ом номере российского журнала СУБД за 1995 год. А коротко можно сказать следующее.
Для таблиц Paradox вы можете пользоваться специальными типами полей, гарантирующими уникальность значения поля в записи — типы AutoIncrement и TimeStamp (с использованием функций DateXXX — модуль SysUtils).
Для Interbase вы можете использовать генераторы, которые возвращают уникальное значение.
Если же такое решение вам не подходит, то можно перед помещением записи в таблицу отыскивать максимальное уже имеющееся в таблице значение этого поля и заполнять поле в записи значением, на единицу больше. Для разграничения пользователей при одновременном доступе можно хранить это значение в отдельной таблице и открывать ее эксклюзивном режиме.
25. Можно ли использовать Crystal Report с таблицами формата Paradox 5.0?
Да, можно, только если вам удастся получить ODBC-драйвер для таблиц Paradox. Во всяком случае на Crystal BBS находится файл bde.zip, который и содержит этот драйвер.
26. Как открыть таблицу dBase, у которой поврежден (утерян) индексный MDX файл?
Как я могу использовать таблицу dBase без необходимого для нее MDX файла?
При создании таблицы dBASE с индексным файлом MDX в заголовке DBF файла устанавливается байт со смещением 28 (десятичное) от начала файла. При открытии таблицы, у которой данный байт установлен, также происходит попытка открыть MDX файл; если это не удается, то возникает исключение (exception). Для решения проблемы достаточно прописать в DBF файл 0 по указанному смещению.
27. Как определить номер текущей записи для набора данных?
Если набор данных основан на таблицах Paradox или dBASE, то номер записи можно определить с помощью вызовов BDE. BDE не поддерживает номер записи для наборов данных на SQL сервере; если ваш сервер поддерживает нумерацию записей, вам нужно обратиться к его документации.
Базы данных — прочие SQL сервера
1. Как осуществляется доступ к базе данных из Delphi?
Сначала вы должны в утилите BDE Configuration Utility (bdecfg или bdecfg32) определить псевдоним для базы данных, с которой вы хотите работать. Это позволит вам избежать написания сложного пути к базе данных в вашем приложении; вы теперь только ссылаетесь на псевдоним. Затем вы создаете минимум три объекта на форме:
Если вы потратили несколько часов, чтобы заставить все это работать, но ничего не получилось, попробуйте установить свойство
2. Какие серверы данных поддерживает Delphi?
Delphi (в старших вариантах поставки) напрямую работает с Oracle, Informix, InterBase, DB/2, Sybase, MS SQL Server. Вы можете использовать ODBC драйверы третьих фирм, чтобы работать с любым сервером. Наиболее известные производители качественных ODBC драйверов:
• InterSolv (www.intersolv.com)
• Visigenic Software (www.visigenic.com)
Есть специализированный вариант Delphi 2.0 — Delphi/400, который ориентирован исключительно на работу с AS/400.
3. Cуществует ли способ работать из Delphi с AS/400, исключая ODBC?