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

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

теряется запятая при вставке числа в таблицу ... [D5, IB6.x]


Tutov Roman ©   (2002-06-18 13:49:00) 

При отработке такого запроса в таблицу вставляется
число 1267 . Почему ?

UPDATE VIDKARD
set PRISE="12,67"
where VIDKARD = "UPS Powercom BNT 600-A"

Поле PRISE типа Float


Skywalker   (2002-06-18 14:54:00) [1]

Попробуй так:
DecimalSeparator:=".";
IBQuery1.Close;
Form1.IBQuery1.SQL.Add("UPDATE VIDKARD");
Form1.IBQuery1.SQL.Add("set PRISE="+Chr(39)+FloatToStrF(form1.Table1.FieldByName("TSENA").AsFloat,ffFixed,8,2)+Chr(39));
Form1.IBQuery1.SQL.Add("where VIDKARD ="+Chr(39)+form1.Table1.FieldByName("NAME").AsString+Chr(39));

Memo1.Text:=form1.Table1.FieldByName("TSENA").asString;
IBQuery1.Open;
IBQuery1.SQL.Clear;



Tutov Roman   (2002-06-18 14:46:00) [2]

Спасибо


hooch   (2002-06-18 14:22:00) [3]

Form1.IBQuery1.SQL.Add("set PRISE=:PRISE");
Form1.IBQuery1.ParamByName("PRISE").Value = form1.Table1.FieldByName("TSENA").Value


Tutov Roman   (2002-06-18 14:14:00) [4]

Для вставки я использую такой код :

IBQuery1.Close;
Form1.IBQuery1.SQL.Add("UPDATE VIDKARD");
Form1.IBQuery1.SQL.Add("set PRISE="+Chr(39)+form1.Table1.FieldByName("TSENA").asString+Chr(39));
Form1.IBQuery1.SQL.Add("where VIDKARD ="+Chr(39)+form1.Table1.FieldByName("NAME").AsString+Chr(39));

Memo1.Text:=form1.Table1.FieldByName("TSENA").asString;
IBQuery1.Open;
IBQuery1.SQL.Clear;

Как тогда нужно обходить эту проблему ?


matvey   (2002-06-18 14:00:00) [5]

При обработке такого запроса ничего не должно вставиться, потому как запятая воспринимается как разделитель. Нужно использовать "12.67".


Наверх

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