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