Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.08.2010, 19:29   #1
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение Firebird Получение имён таблиц и список полей определённой таблицы

Приветствую всех!
Как с помощью запроса в Firebird можно вывести список пользовательских таблиц базы, и как по имени таблицы получить список полей и тип полей этой таблицы?
Возможно ли это?
В системных таблицах пока ничего не нашёл. В RDB$FIELDS ничего непонятно.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 01.08.2010, 23:29   #2
kvanted
Новичок
Джуниор
 
Регистрация: 01.08.2010
Сообщений: 2
По умолчанию

В isql следующие комманды:
show table; - список таблиц
show table <name_table>; - поля и типы
kvanted вне форума Ответить с цитированием
Старый 02.08.2010, 05:19   #3
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Сообщение

Это-то понятно. А вот как сделать так в Delphi:
Программа получает базу. Определяет список пользовательских таблиц.
При обращении к таблице определяет и выводит список полей таблицы.
Примерно так как это делает IBExpert (конечно в сильно упрощённом варианте)?
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 02.08.2010, 08:57   #4
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Получение имен таблиц:
Цитата:
select RDB$RELATION_NAME from RDB$RELATIONS
where (RDB$SYSTEM_FLAG = 0) AND (RDB$RELATION_TYPE = 0)
order by RDB$RELATION_NAME
получение имен вьюшек:
Цитата:
select RDB$RELATION_NAME from RDB$RELATIONS
where (RDB$SYSTEM_FLAG = 0) AND (RDB$RELATION_TYPE = 1)
order by RDB$RELATION_NAME
Получение полей таблицы или вьюшки:
Цитата:
select RDB$FIELD_NAME from rdb$relation_fields
where RDB$RELATION_NAME = :rName
В параметр rName - подставить имя таблицы или вьюшки

Последний раз редактировалось Rik; 02.08.2010 в 09:00.
Rik вне форума Ответить с цитированием
Старый 02.08.2010, 13:12   #5
Alekcey
Пользователь
 
Регистрация: 12.07.2010
Сообщений: 44
По умолчанию

www.ibase.ru/devinfo/sysqry.htm
Удачи
Alekcey вне форума Ответить с цитированием
Старый 02.08.2010, 14:00   #6
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
Радость

Спасибо всем за ответы!
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычитание полей с разных таблиц! RSmile Microsoft Office Access 6 25.04.2010 13:54
Сохранить список файлов и папок в определённой директории в текстовый файл Az@zel Помощь студентам 5 10.03.2010 20:41
Получение данных из двух таблиц SQL Server а S_Yevgeniy БД в Delphi 8 27.12.2009 15:12
Данные из двух полей исх. таблицы в одно поле сводной таблицы Strelec79 Microsoft Office Excel 2 02.08.2009 13:59
Подключение второй таблицы, выпадающий список, смена таблиц Serega_1988 БД в Delphi 6 29.05.2008 19:54