Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ошибка преобразования данных

375
27 февраля 2007 года
dominator
199 / / 16.10.2003
Здравствуйте!
У меня следующая проблема. Не могу получить содрежимое поле БД. Делаю так:
a := String(DataModule_Main.ADOQuery_Common.Recordset.Fields[0].Value);
БД Oracle, тип данных в поле Number[10]. Получаю следующую ошибку: exception class EVariantInvalidOpError with message 'Invalid variant operation'
Содержимое следующего поля, которое имеет тип varchar2[255] - текстовое - получаю нормально.
С чем может быть связано? Почему целое здесь не может быть преобразовано в строковое?
Еще совсем ламерский вопрос: как узнать тип конкретной переменной в delphi (просто никогда до сих пор особо нужно не было)?
497
27 февраля 2007 года
IL84
267 / / 24.04.2003
Fields[0].value имеет тип variant и напрямую его в строку преобразовать нельзя, т.к. под ним в БД лежит поле типа Number. Используй Fileds[0].AsString или IntToStr(Integer(Fileds[0].Value)).
375
27 февраля 2007 года
dominator
199 / / 16.10.2003
Цитата: IL84
Fields[0].value имеет тип variant и напрямую его в строку преобразовать нельзя, т.к. под ним в БД лежит поле типа Number. Используй Fileds[0].AsString или IntToStr(Integer(Fileds[0].Value)).


Сделал так:
IntToStr(Integer(DataModule_Main.ADOQuery_Common.Recordset.Fields[0].Value));
Пишет:
ту же самую ошибку
А попробовал as String - сообщает что нет такого метода
Если имеет значение у меня bds2006

375
27 февраля 2007 года
dominator
199 / / 16.10.2003
Сделал следующим образом переменную a объявил как variant, затем varToStr(a) для дальнейшей работы со значениями.
Спасибо большое за ответ!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог