Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FIBDatabase.QueryValue как в нем использовать параметры?


Страницы:   1 2 3

ixen ©   (2010-10-20 13:45:00) 

Здравствуйте! Необходимо записать в таблицу вещественное число. Делаю так:


Фокус_Ник   (2010-10-20 15:15:00) [41]

StrToCurr и без того использует текущие системные настройки (если, конечно, Вы не меняли глобальные перемнные, в которых они хранятся - DecimalSeparator и другие).

Попробуйте так:

StrToCurr(StringReplace(StringReplace(S, '.', DecimalSeparator, []), ',', DecimalSeparator, []));


ixen   (2010-10-20 14:59:00) [42]

function StrToCurr(const S: string; const FormatSettings: TFormatSettings): Currency;
в ней тоже есть настройка формата... может FormatSettings как то можно взять с системных настроек и передать ее функции StrToCur в качестве параметра?


ixen   (2010-10-20 14:55:00) [43]

вобщем ошибку вызывала не запрос а функция перед запросом
  sum:=strtocurr(s);

как мне корректно перевести строку в вещественное число с учетом региональных настроек

есть функция FormatCurr ... видимо через нее.. но как её применить..


Sergey13   (2010-10-20 14:20:00) [44]

Ну и нахрена такое "упращение" спрашивается? Я для этого просто кладу отдельный кверик в датамодуль и все.


ixen   (2010-10-20 14:16:00) [45]

> Это что то типа "встроенного" кверика что ли?

да... упращает выполнение небольших запросов ...

> потом через ParamByName присвоил бы значения параметрам.

тут такого нету.. тут какой то свой синтаксис...


Sergey13   (2010-10-20 14:12:00) [46]

Я с фибами не работал, что такое FIBDatabase.QueryValue? Это что то типа "встроенного" кверика что ли?
Если бы кверик был "обычный", то в его свойство SQL.Text я бы записал 'update docs set summ=:s1 where id=:s2', а потом через ParamByName присвоил бы значения параметрам.


ixen   (2010-10-20 14:05:00) [47]

мне бы примерчик как с ним работать...


ixen   (2010-10-20 13:50:00) [48]


DM.Database.QueryValue('update docs set summ='+currtostr(sum)+' where id='+inttostr(Fprodaji.tag),0);

вроде работает.. но если переменная sum будет больше 1000 то выходит ошибка... я уже понял что нужно использовать параметры SQL запроса в сиснтаксисе QueryValue есть ParamValues которая предназначена для передачи этих параметров. Но как с ним работать в мануале от FIBPlus не нашел.

function QueryValues(const aSQL: string; ParamValues:array of variant;aTransaction: TFIBTransaction=nil ): Variant; overload;

подскажите как передавать в запрос параметры... попробовал написать так:
DM.Database.QueryValue('update docs set summ=:s1 where id=:s2',[sum,Fprodaji.tag],0);не получилось.. просьба сильно не орать если что...


Фокус_Ник   (2010-10-20 13:49:00) [49]

Ничего не делаете - ничего и не записывается. Все правильно.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо