Советы по Delphi

Получение физического пути к таблице


Тема: Получение физического пути к таблице
Отправлено: Август 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]



Содержание раздела