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

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

Программное определение структуры таблиц БД [D6, IB6.x]


Vova ©   (2003-08-21 09:02:00) 

Каким образом определить тип поля таблицы БД из программы?


MsGuns   (2003-08-22 13:05:00) [1]

Смотря для каких целей. Если в целом определиться с таблицей, то, конечно, лкчше всего обратиться за точной инфой к самому серверу (Johnmen © (21.08.03 09:06) [1]).
А если только для того, чтобы корректно работать с некоторым конкретным полем НД, то подойдет и Levan Varshanidze (21.08.03 10:40) [8]


изм   (2003-08-22 10:16:00) [2]

согласен с Johnmen т.к. структура базы это не тольлко поля но и ключи, связи ets.


Levan Varshanidze   (2003-08-21 10:40:00) [3]

Тип поля : применяемое в делфи, возвращаемый
dataset.fields.fields[i].fieldtype, может бить

type TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);

а по системным таблицам можно определить тип данных, родной для конкретной СУБД

Это, как мне кажется, разные вещи, но можно найти соответствие

например, ftboolean в делфи и "bit" в MS SQL server


Zacho   (2003-08-21 09:51:00) [4]


> Vova (21.08.03 09:42) [6]

См. Language Reference, Chapter 7 "System Tables and Views"


Vova   (2003-08-21 09:42:00) [5]

Спасибо всем. А насчет правильного метода, то согласен, но не понял как.


DenK_vrtz   (2003-08-21 09:38:00) [6]

Vova (21.08.03 09:30), почему мне?!

У меня реализация, а идея - VAleksey ©.
А Johnmen © (21.08.03 09:06) сказал самый правильный метод. К чему надо стремиться.


Vova   (2003-08-21 09:30:00) [7]

Спасибо DenK_vrtz!


DenK_vrtz   (2003-08-21 09:26:00) [8]

в дополнение к [1] и [2]

if Query.Fields[0].DataType=ftFloat then
showmessage("Поле типа Float");


VAleksey   (2003-08-21 09:22:00) [9]

Я думаю речь тдет о создании таблиц ... Или как ?

PS
А если как > Johnmen © (21.08.03 09:06), то ИМХО можно ведь и Select * from Table и пробежаться по полученным полям в Query.


Johnmen   (2003-08-21 09:06:00) [10]

Обратившись к системным таблицам...


Наверх

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