Форум: "Базы";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];
Внизinsert поля BCD Найти похожие ветки
← →
Цукор5 (2007-05-16 16:14) [0]Есть таблица(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 . Ничего не помогает :(
Заранее спасибо
← →
Desdechado © (2007-05-16 17:29) [1]Параметры использовать.
ЗЫ откуда в dbase3 BCD-поля?
← →
Anatoly Podgoretsky © (2007-05-16 19:22) [2]> Desdechado (16.05.2007 17:29:01) [1]
Вообще то изначально, с db2
А вот флоат появилось позже
← →
Цукор5 (2007-05-16 19:24) [3]2 Desdechado © (16.05.07 17:29) [1]
а какая разница между запросом с параметрами от такого же,но без параметров ???
>откуда в dbase3 BCD-поля?
Хм...не знаю. Не я ж их придумал ;) Есть и точка.
← →
Anatoly Podgoretsky © (2007-05-16 19:27) [4]А где здесь запрос с параметрами?
← →
Цукор5 (2007-05-16 20:09) [5]2 Anatoly Podgoretsky © (16.05.07 19:27) [4]
Его здесь нет. Но что изменят эти параметры ???
ИМХО и в [0] должно все работать.
← →
Anatoly Podgoretsky © (2007-05-16 20:12) [6]> Цукор5 (16.05.2007 20:09:05) [5]
А что не работает, нам погадать?
← →
Desdechado © (2007-05-16 20:18) [7]> а какая разница между запросом с параметрами от такого же,но без параметров ???
Их много, этих разниц.
В данном случае важна та, что параметрический не зависит от текстово формата представления любых данных.
← →
Цукор5 (2007-05-16 20:18) [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])
в чем причина неудачи ?
← →
Desdechado © (2007-05-16 20:23) [9]> в чем причина неудачи ?
%f как известно, для чисел с плавающей точкой. Или запятой. Или еще каким-то разделителем. И его не понимает парсер. Потому параметры.
И не будь упертым.
← →
Anatoly Podgoretsky © (2007-05-16 21:02) [10]> Цукор5 (16.05.2007 20:18:08) [8]
Используй параметры, а то ты муру передаешь в запрос.
Выведи с помощью ShowMessage результат работы функции FORMAT и поймешь глубину своего падения.
Параметры
Параметры
Параметры
← →
Цукор5 (2007-05-16 23:22) [11]Спасибо конечно, но не получается и с параметрами. Буду разбираться дальше...
>Выведи с помощью ShowMessage результат работы функции FORMAT и поймешь глубину своего падения.
Кстати, не понял эту глубину. Вроде все как и должно быть.
← →
Anatoly Podgoretsky © (2007-05-17 00:13) [12]> Цукор5 (16.05.2007 23:22:11) [11]
С параметрами получает, а вот без них постоянные грабли
← →
Desdechado © (2007-05-17 11:16) [13]> не получается и с параметрами.
Не вижу => не верю.
← →
Цукор5 (2007-05-17 12:47) [14]Спасибо...таки помогло ;)
Вот только я не понял юмора :
Query1.ParamByName("Acc").AsCurrency:=15.5; // работает
Query1.ParamByName("Acc").AsBCD:=15.5; // а так нет
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.032 c