Вниз
Скачать: CL | DM;

тип поля   Найти похожие ветки 

← →
Nina   (2002-05-20 17:12) [0]

Здравствуйте!
Помогите пожайлуста правильно написать
запрос...мне надо вычесть из одного поля другое
пишу так
DataModule1.TSirSkladQuery3.sql.Clear;
DataModule1.TSirSkladQuery3.sql.Text:=("update sklads set kolvo = "+ FloatToStr(s_k)+ " - "+FloatToStr(p_v)+" where nomer= ""+IntToStr(s_n)+"" ");
DataModule1.TSirSkladQuery3.ExecSQL;
выдаёт ошибку..
если например поле не целочисленное 26.6 то выдаст ошибку на 6
если поле 31.5 то выдаст на 5 т е на не целую часть!
что сделать можно?
скажите плз!


← →
DPetrovich ©   (2002-05-20 17:18) [1]

Здрасте Вам!
Попробуйте так..

DataModule1.TSirSkladQuery3.sql.Text:=
("update sklads set kolvo = "+
"convert(float,"+ FloatToStr(s_k) +")"+
+ " - " +
"convert(float,"+FloatToStr(p_v)+")" +
where nomer= ""+IntToStr(s_n)+"" ");


← →
Mambet   (2002-05-21 05:42) [2]

А разделитель у тебя не запятая.Если да, то и получается, что дробную часть он воспринимает как имя поля.
Попробуй изменить на разделитель точку или передавай через параметр.


← →
Nina   (2002-05-21 09:07) [3]

>>Mambet
мне нужна была "."
а была ","
спасибо!


← →
Johnny Smith ©   (2002-05-21 10:52) [4]

2Nina (21.05.02 09:07)
мне нужна была "."
а была ","

Не стоит радоваться: разделитель устанавливается в системе (т.е. в Виндах), поэтому Ваша программа НИКОГДА не будет заранее знать, пользоваться ли ей точкой или запятой на другом компьютере.
Есть два выхода:
1) пользоваться параметрами; тогда TQuery сама сконвертит нецелое число как надо;
2) при запуске приложения в *.dpr-файле выставить значение переменной DecimalSeparator в "." или ","



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
1-40032
777
2002-06-01 13:13
2002.06.13
DrawGrid


3-39968
lonix
2002-05-19 12:05
2002.06.13
???????


4-40205
guliver
2002-02-28 01:32
2002.06.13
Взять текст


1-40102
maxim2
2002-06-03 10:13
2002.06.13
Как выключить и перезагрузить комп из проги


14-40147
ZimZum
2002-05-07 22:41
2002.06.13
Браузер в Дельфи




   Наверх