![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FIBDatabase.QueryValue как в нем использовать параметры?
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]Ничего не делаете - ничего и не записывается. Все правильно.