Страница 1 из 1

вопрос про ibquery и firebird

Добавлено: 10 окт 2006, 16:52
delan
много искал но так и не смог найти как сделать
firebird 1.5.2 dialect 1
D7

у меня поставлена задача хранить числа типа 0,03 0,006 1,02
ставлю в таблице numeric 4,4

а в ibquery.params[1].datatype данные по умолчанию форматы не подходят
как выйти из этой ситуации подскажите
наверняка кто нить сталкивался

Добавлено: 10 окт 2006, 16:56
kdv
ставлю в таблице numeric 4,4
это означает что число будет содержать максимум 4 знака, из которых 4 знака - после запятой.
у меня поставлена задача хранить числа типа 0,03 0,006 1,02
тогда почему выбран numeric(4,4), и вообще, первый диалект?
данные по умолчанию форматы не подходят
в виде строки сервер понимает числа только в определенном формате.
в любом формате - если число параметру присваивается asFloat. Обычно программист рулит строковым представлением чисел в программе.

Добавлено: 10 окт 2006, 20:01
delan
и все же я так и не пойму какой формат на сервере мне взять за основу

в программе то оно конечно все в тексте
а вот на сервер складывать не в тексте же :?:

Добавлено: 11 окт 2006, 00:36
kdv
и все же я так и не пойму какой формат на сервере мне взять за основу
доку читать явно не хочешь. какой-такой формат на сервере?
Param.asFloat:=double;

дальше. numeric(4,4) это
0.nnnn, и никак не n.nnn, хоть даже оно так может храниться.

p.s. в текстовом виде формат чисел на сервере всегда один - это n.n. где разделитель дробной части - точка.
на клиенте, если ты присваиваешь
Param.asString:=Edit.Text
разделителем дробной части может быть ПРАКТИЧЕСКИ ЛЮБОЙ СИМВОЛ, в зависимости от РЕГИОНАЛЬНЫХ НАСТРОЕК или установленного DecimalSeparator в программе.

Добавлено: 16 окт 2006, 14:40
delan
спасибо kdv

начитавшись доки разобрался что к чему