![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
insert поля BCD [D7, dBase, FoxPro]
Цукор5 © (2007-05-16 16:14:00)Есть таблица(dBase3). В ней,например, поле типа ftBCD.Ну т.е. так создавал:
with hTable.FieldDefs.AddFieldDef do
begin
Name:='ACC_PRICE';
DataType:=ftBCD;
Precision:=14;
Size:=2;
end;
Так вот...пытаюсь заполнить таблицу.
Вот так, работает :
Format('insert into ARTICLE.DBF(CODE,NAME,ACC_PRICE) values (%d, %s, 5)', [1,'"132"'])
а вот так уже нет:
Format('insert into ARTICLE.DBF(CODE,NAME,ACC_PRICE) values(%d, %s, %f)', [1,'"132"', 5])
Что я делаю не так ?
Пробовал и %14.2f и %m . Ничего не помогает :(
Заранее спасибо
Цукор5 (2007-05-17 12:47:00) [1]Спасибо...таки помогло ;)
Вот только я не понял юмора :
Query1.ParamByName('Acc').AsCurrency:=15.5; // работает
Query1.ParamByName('Acc').AsBCD:=15.5; // а так нет
Desdechado (2007-05-17 11:16:00) [2]> не получается и с параметрами.
Не вижу => не верю.
Anatoly Podgoretsky (2007-05-17 00:13:00) [3]> Цукор5 (16.05.2007 23:22:11) [11]
С параметрами получает, а вот без них постоянные грабли
Цукор5 (2007-05-16 23:22:00) [4]Спасибо конечно, но не получается и с параметрами. Буду разбираться дальше...
>Выведи с помощью ShowMessage результат работы функции FORMAT и поймешь глубину своего падения.
Кстати, не понял эту глубину. Вроде все как и должно быть.
Anatoly Podgoretsky (2007-05-16 21:02:00) [5]> Цукор5 (16.05.2007 20:18:08) [8]
Используй параметры, а то ты муру передаешь в запрос.
Выведи с помощью ShowMessage результат работы функции FORMAT и поймешь глубину своего падения.
Параметры
Параметры
Параметры
Desdechado (2007-05-16 20:23:00) [6]> в чем причина неудачи ?
%f как известно, для чисел с плавающей точкой. Или запятой. Или еще каким-то разделителем. И его не понимает парсер. Потому параметры.
И не будь упертым.
Desdechado (2007-05-16 20:18:00) [7]> а какая разница между запросом с параметрами от такого же,но без параметров ???
Их много, этих разниц.
В данном случае важна та, что параметрический не зависит от текстово формата представления любых данных.
Цукор5 (2007-05-16 20:18:00) [8]2 Anatoly Podgoretsky © (16.05.07 20:12) [6]
А разве Вы не смотрели [0] ?
Повторюсь :
Вот так, работает :
Format('insert into ARTICLE.DBF(CODE,NAME,ACC_PRICE) values (%d, %s, 5)', [1,'"132"'])
а вот так уже нет:
Format('insert into ARTICLE.DBF(CODE,NAME,ACC_PRICE) values(%d, %s, %f)', [1,'"132"',5])
в чем причина неудачи ?
Anatoly Podgoretsky (2007-05-16 20:12:00) [9]> Цукор5 (16.05.2007 20:09:05) [5]
А что не работает, нам погадать?
Цукор5 (2007-05-16 20:09:00) [10]2 Anatoly Podgoretsky © (16.05.07 19:27) [4]
Его здесь нет. Но что изменят эти параметры ???
ИМХО и в [0] должно все работать.
Anatoly Podgoretsky (2007-05-16 19:27:00) [11]А где здесь запрос с параметрами?
Цукор5 (2007-05-16 19:24:00) [12]2 Desdechado © (16.05.07 17:29) [1]
а какая разница между запросом с параметрами от такого же,но без параметров ???
>откуда в dbase3 BCD-поля?
Хм...не знаю. Не я ж их придумал ;) Есть и точка.
Anatoly Podgoretsky (2007-05-16 19:22:00) [13]> Desdechado (16.05.2007 17:29:01) [1]
Вообще то изначально, с db2
А вот флоат появилось позже
Desdechado (2007-05-16 17:29:00) [14]Параметры использовать.
ЗЫ откуда в dbase3 BCD-поля?