Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2012, 21:50   #1
kwint3r
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 17
Сообщение Запись вещественного числа в dbgrid

Компоненты BDExpress СУБД FB 2.1.
Имеется такой код
Код:
var s:real;
begin
  s:=FloatToStr(2.5);
  with dm.q do
  begin
  dm.SDSPROJECT.First;
  while not dm.SDSPROJECT.Eof do
  begin
    Active:=false;
    SQl.Clear;
    SQL.Add('UPDATE PROJECT SET');
    SQL.Add('KOEFFICIENT_PROJECT='+ QuotedStr(s));
    SQL.Add('WHERE ID_PROJECT='+dm.SDSPROJECT.FieldByName('ID_PROJECT').AsString);
    ExecSQL;
    dm.SDSPROJECT.Next;
  end;
В общем он должен записать для всех ячеек начиная с первой число 2,5. Однако выдает ошибку conversion error from string 2,5.
kwint3r вне форума Ответить с цитированием
Старый 02.05.2012, 21:54   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Вот кто вас учит так составлять запросы?
=master= вне форума Ответить с цитированием
Старый 02.05.2012, 21:59   #3
kwint3r
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 17
По умолчанию

Ну научите, master, как правильно составить запрос для данной темы.

Подозреваю что проблема в QuotedStr, но не знаю как правильно передать вещественное число в ячейку

Последний раз редактировалось Stilet; 02.05.2012 в 23:31.
kwint3r вне форума Ответить с цитированием
Старый 02.05.2012, 22:04   #4
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Мне все-же интересно кто учит. К кому больше никому ходить учиться не надо.
=master= вне форума Ответить с цитированием
Старый 02.05.2012, 22:05   #5
kwint3r
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 17
По умолчанию

Кто учил уже не учит уволили :D, вопрос по поводу доработки все равно остается открытым
kwint3r вне форума Ответить с цитированием
Старый 02.05.2012, 23:35   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Подозреваю что проблема в QuotedStr, но не знаю как правильно передать вещественное число в ячейку
Верно:

1)
Код:
    
    ParamByName('Value1').AsFloat:=s;
    SQL.Add('UPDATE PROJECT SET');
    SQL.Add('KOEFFICIENT_PROJECT=:Value1';
    SQL.Add('WHERE ID_PROJECT='+dm.SDSPROJECT.FieldByName('ID_PROJECT').AsString);
Это параметризация
Или

2)
Код:
    
    SQL.Add('UPDATE PROJECT SET');
    SQL.Add('KOEFFICIENT_PROJECT='+FloatToStr(s);
    SQL.Add('WHERE ID_PROJECT='+dm.SDSPROJECT.FieldByName('ID_PROJECT').AsString);
Это просто формирование строки запроса.

И попрошу не забывать что числа должны иметь разделитель не запятую а точку, соответственно перед запросом стоит написать DecimalSeparator:='.' дабы конвертация была правильной.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.05.2012, 00:06   #7
kwint3r
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 17
По умолчанию

Все работает спасибо воспользовался вторым вариантом + сепаратор
kwint3r вне форума Ответить с цитированием
Старый 03.05.2012, 00:17   #8
kwint3r
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 17
По умолчанию

Единственная проблема осталась для чисел 0,88 выводится только ,88 как исправить?
kwint3r вне форума Ответить с цитированием
Старый 03.05.2012, 07:49   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Выводится куда? В Грид? Пропиши маску вывода для этого поля (Свойство DisplatFormat - чти о нем в хелпе).
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.05.2012, 23:04   #10
kwint3r
Пользователь
 
Регистрация: 10.11.2011
Сообщений: 17
По умолчанию

Все нашел ошибку огромное спасибо, Stilet, за помощь.
kwint3r вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация вещественного числа sawer6 Общие вопросы C/C++ 3 18.04.2011 23:20
Возведение вещественного числа в куб SL1CK Общие вопросы .NET 1 31.01.2010 17:48
вывод вещественного числа olegnaum Общие вопросы C/C++ 8 21.11.2009 21:03
Выделение из строки записи вещественного числа. Kuh@r Общие вопросы C/C++ 1 30.03.2009 22:12
Перевод вещественного числа в двоичный код shepelin Свободное общение 9 06.07.2008 10:00