|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.03.2012, 21:38 | #1 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Query глючит при значениях с запятой
Здравствуйте!
Такая тупая проблема аж слов нету, есть некий Query в БД типа insert/update вида: DBQuery.SQL.Text:='update TABLE set SUMM='+FloatToStr(Dataset.FN('SUMM' ).Value); Тип значения SUMM пробовал Float и Currency. Конвертацию пробовал FloatToStr и CurrencyToStr и просто FN().AsSrtring. Если значение SUMM целое (нет цифр после запятой), то всё пашет. Если дробное - выкидывает с ошибкой, что Query.SQL непонятный. Как это обычно решается ??? |
23.03.2012, 21:55 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вариант 1 - сделать параметризированный запрос
Вариант 2 - знак отделения дробной части от целой не такой, как хочется СУБД
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
23.03.2012, 22:07 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Согласен.
Попробуй перед этим оператором пропиши DecimalSeparator:='.'; Или действительно параметризируй запрос.
I'm learning to live...
|
23.03.2012, 23:10 | #4 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Обычно делаю параметры, но в данном случае нужна строка SQL, тк в одной Query SQL строки постоянно меняются.
|
24.03.2012, 12:29 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
у меня тоже SQL постоянно меняется и в неm (о ужас) меняется и число параметров и их именование.
после того как запрс записан в нем сразу же можно искать (parameterbyname) параметры, главное знать что надо найти. а можно даже еще проверять есть ли такой параметр.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 24.03.2012 в 12:32. |
24.03.2012, 13:17 | #6 | |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Цитата:
Пашет, ура! Спасибо! |
|
24.03.2012, 13:19 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Если уж DecimalSeparator изменили, то или восстановите его исходное значение, или имейте вввиду, что и в других местах проги разделителем теперь будет считаться точка, а не запятая
ADD Такой подход чреват тем, что если в настройках СУБД есть возможность изменения символа разделителя и его изменят, то ваша прога мигом перестанет работать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 24.03.2012 в 13:24. |
24.03.2012, 14:50 | #8 | ||
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Цитата:
Код:
Цитата:
|
||
24.03.2012, 14:59 | #9 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
построить несколько графиков параметрически заданной функции при разных значениях констант а, b, λ. Оси графика – х и y, | Antonxxx007 | Помощь студентам | 0 | 01.12.2011 17:03 |
Вычислить значение функции при заданных значениях параметров | Lordi1289 | C++ Builder | 1 | 15.06.2011 22:19 |
Ошибка при редактировании в Query | Toky | БД в Delphi | 8 | 14.12.2009 16:42 |
Выделение цветом при определенных значениях | Умпут | Microsoft Office Excel | 1 | 04.11.2009 20:58 |