Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.20;
Скачать: CL | DM;

Вниз

could not convert variant of type (string) into type (double)   Найти похожие ветки 

 
nicky000   (2008-03-26 16:25) [0]

Есть код:
begin
OraQuery1.Active := true;
OraQuery1.First;
while not OraQuery1.Eof do
begin
cxlb.Items.Add(ScrMemo.Text+","+ OraQuery1.FieldValues["NAME"]+","+ OraQuery1.FieldValues["LINKCLIENT"]+","+naEdit.Text);
OraQuery1.Next;
end;

Происходит ошибка при попытке вставить данные из поля LINKCLIENT : could not convert variant  of type (string) into type (double)

Подскажите как это исправить.


 
Сергей М. ©   (2008-03-26 16:29) [1]


> Есть код


> Происходит ошибка


Ошибка не в этом коде, здесь нет ни намека на упомянутую в тексте ошибки конвертацию.


 
nicky000   (2008-03-26 16:29) [2]

в чем ошибка?


 
Сергей М. ©   (2008-03-26 16:34) [3]

в том что некое вариантное значение строкового типа по некоей причине невозможно конвертировать в значение вещ.типа


 
Reindeer Moss Eater ©   (2008-03-26 16:34) [4]

В другом месте


 
Reindeer Moss Eater ©   (2008-03-26 16:37) [5]

В коде нет ничего вещественного.

Где-то повешен какой-нить обработчки типа OnDataChanged.


 
nicky000   (2008-03-26 16:40) [6]

не повешен. Как решить проблему?


 
nicky000   (2008-03-26 16:44) [7]

с полем name все нормально (текстовое), а linkclient - числовое.


 
Сергей М. ©   (2008-03-26 16:44) [8]


> nicky000   (26.03.08 16:40) [6]


Тебе, как помнится, уже был "намек" - воспользоваться встроенным отладчиком.


 
Reindeer Moss Eater ©   (2008-03-26 16:45) [9]

Сначала правильно найти саму проблему. Потом решать.
В приведенном коде нет проблемы.
А вообще работать вот так через варианты (fieldvalues) - лучший способ огрести пободбные баги


 
Reindeer Moss Eater ©   (2008-03-26 16:46) [10]

с полем name все нормально (текстовое), а linkclient - числовое.

Ну вот и приехали.


 
Reindeer Moss Eater ©   (2008-03-26 16:53) [11]

Не, что-то здесь не так.
С чего бы это вариант, участвующий в строковом выражении, приводится к даблу?


 
nicky000   (2008-03-26 16:55) [12]

к чему приехали?


 
Reindeer Moss Eater ©   (2008-03-26 16:56) [13]

К тому, что нет в твоем коде неявного приведения к даблу.


 
Reindeer Moss Eater ©   (2008-03-26 16:59) [14]

Замени FieldValues на AsString и AsFloat


 
nicky000   (2008-03-26 17:00) [15]

да слышала уже. А в чем проблема? Явно, что с типом полей. Все числовые выходят на эту ошибку. Как разрулить?


 
Reindeer Moss Eater ©   (2008-03-26 17:01) [16]

не работай через варианты.


 
Сергей М. ©   (2008-03-26 17:01) [17]


> Как разрулить?


Использовав отладчик.


 
nicky000   (2008-03-26 17:06) [18]

FieldByName("LINKCLIENT").AsString ??


 
Reindeer Moss Eater ©   (2008-03-26 17:12) [19]

можно и так, хотя лучше АsFloat и привести с строке.


 
Anatoly Podgoretsky ©   (2008-03-26 18:24) [20]

> nicky000  (26.03.2008 16:44:07)  [7]

В таком случае ошибка вообще не относится к данному месту.


 
Anatoly Podgoretsky ©   (2008-03-26 18:26) [21]


> хотя лучше АsFloat

Чем же лучше, флоат тогда кто будет преобразовывать?


 
Reindeer Moss Eater ©   (2008-03-26 18:56) [22]

Лучше.
Процессору все равно.
Программе тоже.
Лучше девелоперу. Не забудет реальный тип поля в БД.
Только из этих соображений.



Страницы: 1 вся ветка

Текущий архив: 2008.04.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
2-1206074528
atomAltera
2008-03-21 07:42
2008.04.20
Как программно вывести контекстное меню какого нибудь файла?


2-1206273219
Бегущий человек
2008-03-23 14:53
2008.04.20
Как заюзать функцию из С-файла в проекте Delphi?


2-1206652100
helpmepls
2008-03-28 00:08
2008.04.20
Unassigned


2-1206196743
San1
2008-03-22 17:39
2008.04.20
перекрытие Create


2-1206368361
AlexeyMir
2008-03-24 17:19
2008.04.20
Кеширование в таблице Firebird