Вниз
Скачать: CL | DM;

IBDataBase получение списка таблиц   Найти похожие ветки 

 
Cawa ©   (2006-06-05 09:08) [0]

Возможно мой вопрос прозвучит слишком по ламерски, но я с INTERBASE почти не работал как и с KOL.
Как получить список таблиц в выбранной БД?
В VCL у компонента IBDataBase можно было получить список IBDataBase.GetTableNames(tables). А как это сделать у компонента IBDataBase из библиотеки KOLIB?
Пробовал через SQL запрос SHOW Table;, но никакого эффекта.


 
ECM ©   (2006-06-05 11:54) [1]


> Как получить список таблиц в выбранной БД?

В InterBase (FireBird) вся информация о таблицах/ключах/триггерах и т.д.
хранится в системных таблицах (RDB$xxxxx).
Поэтому для получения списка таблиц (TableNames) необходимо выполнить
запрос к системной таблице RDB$RELATIONS примерно такого вида:

Select RDB$RELATION_NAME from RDB$RELATIONS where RDB$VIEW_BLR is NULL and RDB$SYSTEM_FLAG = 0 ORDER BY RDB$RELATION_NAME

Это именно то что выполняет VCL.IBDataBase.GetTableNames. (Посмотрите файл IBDataBase.pas из состава Delphi)

Для KOLIB мне (лично) такая функция была не нужна. Но можно и добавить...


 
ECM ©   (2006-06-05 11:57) [2]

З.Ы. Забыл уточнить - эту функцию (GetTableNames) легко реализовать своими силами на основе того что уже есть в KOLIB (посмотрите в исх. код VCL - там всё просто)


 
Cawa ©   (2006-06-05 13:10) [3]

Огромное спасибо EMC!!!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
6-1158311999
KyRo
2006-09-15 13:19
2007.02.25
Проблема с инди фтп


15-1170096047
Mr. D.
2007-01-29 21:40
2007.02.25
Запись в COM-порт - WriteFile


2-1170691340
FIL-23
2007-02-05 19:02
2007.02.25
работа с едитом


1-1168220567
Sleepeer
2007-01-08 04:42
2007.02.25
Перехват процесса выполнения определённых функций из чужой DLL


4-1160804337
dreamse
2006-10-14 09:38
2007.02.25
SafeMode




   Наверх