Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/76: Рейтинг темы: голосов - 76, средняя оценка - 4.97
18 / 17 / 0
Регистрация: 27.11.2012
Сообщений: 353

Определить тип поля таблицы ADO

09.10.2013, 14:53. Показов 14569. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, нужно получить в переменную тип поля таблицы. Например string, integer, memo...

Пробую так
Delphi
1
ADOQuery1.FieldByName('FIO').DataType
- не получается, пишет не совместимые типы

Delphi
1
Char(ADOQuery1.FieldByName('FIO').DataType)
- вместо названия типа символ квадратика выходит

Delphi
1
PChar(ADOQuery1.FieldByName('FIO').DataType)
- вообще Access Violation ловлю
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2013, 14:53
Ответы с готовыми решениями:

Тип поля в таблицы в базе
Добрый день.! Подскажите как у знать какой тип данных используется (строка, число или дата) в таблице в нужном столбца.! ...

Копирование поля из одной таблицы в другую(ADO)
Здравствуйте.В базах данных я не особо силен.Работу делаю с пом. ADO. Имеется вот такой код, взял я его с какой то книжки: При нажатии...

Поместить значение поля таблицы ADO в диалог MessageBox
Есть база данных Access, мне необходимо удалить одно из значений одной таблицы нажав на кнопку, но перед удалением удостоверится что...

3
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
09.10.2013, 15:04
Свойство DataType принадлежит порядковому типу TDataType. Этот тип определён в модуле DB так:
Delphi
1
2
3
4
5
6
  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);
Поэтому писать надо так:
Delphi
1
2
3
4
5
6
7
8
case ADOQuery1.Fields[i].DataType of
  ftString : ...; //Тип String.
  ftSmallint, ftInteger, ftWord : ...; //Целочисленный тип.
  ...
  ftUnknown : ...; //Неизвестный тип.
  else
    ShowMessage('Незарегистрированный тип!');
end;
2
18 / 17 / 0
Регистрация: 27.11.2012
Сообщений: 353
09.10.2013, 15:12  [ТС]
Цитата Сообщение от Mawrat Посмотреть сообщение
Поэтому писать надо так:
Спасибо, все понял)

Добавлено через 6 минут
Цитата Сообщение от Mawrat Посмотреть сообщение
Поэтому писать надо так:
Код Delphi
1
2
3
4
5
6
7
8
case ADOQuery1.Fields[i].DataType of
* ftString : ...; //Тип String.
* ftSmallint, ftInteger, ftWord : ...; //Целочисленный тип.
* ...
* ftUnknown : ...; //Неизвестный тип.
* else
* * ShowMessage('Незарегистрированный тип!');
end;
А через FielByName(Название поля) можно? Мне номер по номеру поля реализовать сложнее, так как не все поля по порядку
0
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
09.10.2013, 15:38
Да - можно через FieldByName(). В этом случае тоже возвращается указатель на экземпляр типа TField. А у него есть свойство DataType:
Delphi
1
case ADOQuery1.FieldByName('имя поля').DataType of
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2013, 15:38
Помогаю со студенческими работами здесь

Подскажите тип данных в ADO, если в SQL сервере тип Text ?
Господа подскажите тип данных в ADO, если в SQL сервере тип Text ?

Как можно программно определить тип поля в dbf?
Подскажите пожалуйста как можно программно определить тип поля в dbf(Type и Length Decimals).

Определить тип данных запись, имеющий поля марка машины и тд
Порешайте кому интересно, не так уж и трудно: Определить тип данных запись, имеющий поля марка машины, год выпуска,цвет,дата продажи и...

Определить тип данных запись, имеющий поля марка машины и тд
Определить тип данных запись, имеющий поля марка машины, год выпуска,цвет,дата продажи и цена. Определить массив из 10 записей. В программе...

Можно ли как нибудь добавить данные из 1 поля 1 таблицы в pickllist другого поля другой таблицы?
Добавить данные в picklist полю ФИО, чтоб получился выпадающий список Бред конечно, ноо... Может есть какие идеи?) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru