![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программное определение структуры таблиц БД [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]
Обратившись к системным таблицам...