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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2009, 04:15   #1
Olg@
Пользователь
 
Регистрация: 23.12.2008
Сообщений: 12
По умолчанию Тип полей в Table

Вопрос такой: как получить список типов полей таблицы?
Olg@ вне форума Ответить с цитированием
Старый 22.06.2009, 08:46   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Смотреть в датасете коллекцию TFields (ну и TField)


получить список типов можно примерно так (пишу здесь, если что - подправите):

Код:
      for I:=0 to Table1.FieldCount-1 do
          Memo1.Lines.Add(ShowTypeField(Table1.Fields[I].DataType));
функция (самописная) для преобразования типа в строку:
Код:
function ShowTypeField( const curTField : TFieldType) : string;
begin
 case curTField of
    ftUnknown: Result := 'ftUnknown';
    ftString: Result := 'ftString';
    ftSmallint: Result := 'ftSmallint';
    ftInteger: Result := 'ftInteger';
    ftWord: Result := 'ftWord';
    ftBoolean: Result := 'ftBoolean';
    ftFloat: Result := 'ftFloat';
    ftCurrency: Result := 'ftCurrency';
    ftBCD: Result := 'ftBCD';
    ftDate: Result := 'ftDate';
    ftTime: Result := 'ftTime';
    ftDateTime: Result := 'ftDateTime';
    ftBytes: Result := 'ftBytes';
    ftVarBytes: Result := 'ftVarBytes';
    ftAutoInc: Result := 'ftAutoInc';
    ftBlob: Result := 'ftBlob';
    ftMemo: Result := 'ftMemo';
    ftGraphic: Result := 'ftGraphic';
    ftFmtMemo: Result := 'ftFmtMemo';
    ftParadoxOle: Result := 'ftParadoxOle';
    ftDBaseOle: Result := 'ftDBaseOle';
    ftTypedBinary: Result := 'ftTypedBinary';
    ftCursor: Result := 'ftCursor';
    ftFixedChar: Result := 'ftFixedChar';
    ftWideString: Result := 'ftWideString';
    ftLargeInt: Result := 'ftLargeInt';
    ftADT: Result := 'ftADT';
    ftArray: Result := 'ftArray';
    ftReference: Result := 'ftReference';
    ftDataSet: Result := 'ftDataSet';
    ftOraBlob: Result := 'ftOraBlob';
    ftOraClob: Result := 'ftOraClob';
    ftVariant: Result := 'ftVariant';
    ftInterface: Result := 'ftInterface';
    ftIDispatch: Result := 'ftIDispatch';
    ftGuid: Result := 'ftGuid';
  end;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.06.2009, 09:18   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Table1.Fields[i-тое].DataType
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.06.2009, 10:49   #4
Olg@
Пользователь
 
Регистрация: 23.12.2008
Сообщений: 12
По умолчанию

Table1.Fields[i].DataType

Значит сразу списком никак?
Olg@ вне форума Ответить с цитированием
Старый 22.06.2009, 11:04   #5
Olg@
Пользователь
 
Регистрация: 23.12.2008
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Смотреть в датасете коллекцию TFields (ну и TField)
получить список типов можно примерно так (пишу здесь, если что - подправите):

Код:
      for I:=0 to Table1.FieldCount-1 do
          Memo1.Lines.Add(ShowTypeField(Table1.Fields[I].DataType));
Спасибо, все работает
Olg@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объеденение полей запроса в для отображения нескольких полей в одном списке mrCreator Microsoft Office Access 3 08.08.2009 00:53
Перевести тип String в тип PChar (Delphi 7) ScorpioN_T Помощь студентам 2 28.10.2008 22:13
данные о видеосистеме: тип видеоадаптера, тип монитора, режим монитора: разрешение, частота обновления WaxeP Win Api 9 15.04.2007 18:12