Тема: Получение физического пути к таблице
Отправлено: Август 13, 1996
Автор: Xavier Pacheco
Если ссылка на таблицу получена через псевдоним, получить физический путь к ней не так просто. Для получения этого пути необходимо использовать функцию BDE DbiGetDatabaseDesc. Данной функции в качестве параметров передаются имя псевдонима и указатель на структуру DBDesc. Структура DBDesc будет заполнена информацией, относящейся к этому псевдониму. Определение структуры:
| pDBDesc = ^DBDesc; DBDesc = packed record { Описание данной базы данных } szName : DBINAME; { Логическое имя (или псевдоним) } szText : DBINAME; { Описательный текст } szPhyName : DBIPATH; { Физическое имя/путь } szDbType : DBINAME; { Тип базы данных } end; |
Физическое имя/путь будет содержаться в поле szPhyName структуры DBDesc.
Возможные значения, возвращаемые функцией DBIGetDatbaseDesc: DBIERR_NONE Описание базы данных для pszName было успешно извлечено. DBIERR_OBJNOTFOUND База данных, указанная в pszName, не была обнаружена. Приведенный ниже пример кода показывает как можно получить физический путь для компонента TTable, использующего псевдоним DBDemos:
| var vDBDesc: DBDesc; DirTable: String; begin Check(DbiGetDatabaseDesc(PChar(Table1.DatabaseName), @vDBDesc)); DirTable := Format('%s\%s', [vDBDesc.szPhyName, Table1.TableName]); ShowMessage(DirTable); end; |
[001027]