Ошибка преобразования данных
У меня следующая проблема. Не могу получить содрежимое поле БД. Делаю так:
a := String(DataModule_Main.ADOQuery_Common.Recordset.Fields[0].Value);
БД Oracle, тип данных в поле Number[10]. Получаю следующую ошибку: exception class EVariantInvalidOpError with message 'Invalid variant operation'
Содержимое следующего поля, которое имеет тип varchar2[255] - текстовое - получаю нормально.
С чем может быть связано? Почему целое здесь не может быть преобразовано в строковое?
Еще совсем ламерский вопрос: как узнать тип конкретной переменной в delphi (просто никогда до сих пор особо нужно не было)?
Fields[0].value имеет тип variant и напрямую его в строку преобразовать нельзя, т.к. под ним в БД лежит поле типа Number. Используй Fileds[0].AsString или IntToStr(Integer(Fileds[0].Value)).
Цитата: 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
Спасибо большое за ответ!