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

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

Типы полей в InterBase6.0 FireBird [D6, IB6.x]


Z_man7777 ©   (2003-07-17 19:40:00) 

Здавствуйте, Уважаемые Мастера!!! Подскажите, пожалуйста, как мне вытащить программно весь список типов полей, например в TListBox???
Заранее спасибо!!!


Zacho   (2003-07-18 11:50:00) [1]

Нету. А зачем ?
И кроме RDB$FIELD_TYPE в таблице RDB$FIELDS есть и другие поля, например subtype для блобов, precision и scale для numeric и decimal и т.д. Читай документацию, там все написано !


Z_man7777   (2003-07-18 11:41:00) [2]

А разве самих наименований типов нету, только их коды?


Zacho   (2003-07-18 11:27:00) [3]


> Z_man7777 © (18.07.03 11:13)

Ниче не понял :) Хоть бы объяснил, для чего конкретно тебе это надо.
И еще раз повторю: смотри Language Reference, главу "System tables and Views", таблицы RDB$RELATION_FIELDS и RDB$FIELDS


Z_man7777   (2003-07-18 11:13:00) [4]

А если в таблице используются не все типы полей, что делать в этом случае?


Zacho   (2003-07-18 10:53:00) [5]


> Z_man7777 © (18.07.03 10:31)

Убрать из этого запроса WHERE RF.RDB$RELATION_NAME="TABLE_NAME"


Z_man7777   (2003-07-18 10:31:00) [6]

А как мне можно вообще узнать какие типы полей имеются в InterBase, не для конкретной таблицы, а вообще на уровне БД???


Zacho   (2003-07-18 08:45:00) [7]

Примерно так:
SELECT RF.RDB$FIELD_NAME, RF.RDB$FIELD_SOURCE, F.RDB$FIELD_TYPE
FROM RDB$RELATION_FIELDS RF
JOIN RDB$FIELDS F
ON RF.RDB$FIELD_SOURCE=F.RDB$FIELD_NAME
WHERE RF.RDB$RELATION_NAME="TABLE_NAME"

Здесь: RF.RDB$FIELD_NAME - имя поля, RF.RDB$FIELD_SOURCE - домен, F.RDB$FIELD_TYPE - тип поля
Возможные значения RDB$FIELD_TYPE :
BLOB - 261
CHAR - 14
CSTRING - 40
D_FLOAT - 11
DOUBLE - 27
FLOAT - 10
INT64 - 16
INTEGER - 8
QUAD - 9
SMALLINT - 7
DATE - 12 (dialect 3 DATE)
TIME - 13
TIMESTAMP - 35 (DATE in older versions)
VARCHAR - 37
Подробнее смотри Language Reference, главу "System tables and Views"
Как засунуть результат запроса, например в ListBox - думаю, и сам догадаешься.


Наверх

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