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