Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Структура БД [D7, IB6.x]


kolos_rus ©   (2004-09-22 10:55:00) 

Подскажите пожалуйста как програмно узнать структуру таблицы, т.е. имя поля его тип и его размер.


-SeM-   (2004-09-22 11:14:00) [1]

Вместо 'ИМЯ ТАБЛИЦЫ' соответственно вставить имя интересующей таблицы


-SeM-   (2004-09-22 11:13:00) [2]

Выполнить запрос

SELECT RDB$RELATIONS.RDB$RELATION_NAME,
      RDB$RELATION_FIELDS.RDB$FIELD_NAME,
      RDB$RELATION_FIELDS.RDB$FIELD_POSITION,
      RDB$RELATION_FIELDS.RDB$FIELD_SOURCE,
      RDB$RELATION_FIELDS.RDB$NULL_FLAG,
      RDB$RELATION_FIELDS.RDB$DEFAULT_SOURCE,
      RDB$FIELDS.RDB$COMPUTED_SOURCE,
      RDB$FIELDS.RDB$DEFAULT_SOURCE,
      RDB$FIELDS.RDB$NULL_FLAG,
      RDB$FIELDS.RDB$FIELD_TYPE,
      RDB$TYPES.RDB$TYPE_NAME,
      RDB$FIELDS.RDB$FIELD_SUB_TYPE,
      RDB$FIELDS.RDB$FIELD_LENGTH,
      RDB$FIELDS.RDB$FIELD_SCALE
FROM RDB$RELATIONS
INNER JOIN RDB$RELATION_FIELDS ON (RDB$RELATIONS.RDB$RELATION_NAME =
      RDB$RELATION_FIELDS.RDB$RELATION_NAME)
INNER JOIN RDB$FIELDS ON (RDB$RELATION_FIELDS.RDB$FIELD_SOURCE =
      RDB$FIELDS.RDB$FIELD_NAME)
INNER JOIN RDB$TYPES ON (RDB$FIELDS.RDB$FIELD_TYPE =
      RDB$TYPES.RDB$TYPE)
WHERE ((RDB$RELATIONS.RDB$SYSTEM_FLAG = 0) and (RDB$RELATIONS.RDB$VIEW_SOURCE IS NULL ) and (RDB$TYPES.RDB$FIELD_NAME = 'RDB$FIELD_TYPE'))
     AND (RDB$RELATIONS.RDB$RELATION_NAME = 'ИМЯ ТАБЛИЦЫ')
ORDER BY RDB$RELATIONS.RDB$RELATION_NAME, RDB$RELATION_FIELDS.RDB$FIELD_POSITION;

и почитать что нибудь о системных таблицах


Наверх

Титульная страница Поиск, карта сайта Написать письмо