![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Здравствуйте. Пытаюсь перезаписать в таблице значения, вылетает ошибка : Ошибка при преобразовании типа данных varchar к float.
Запрос выглядит так : Код:
String Query = "UPDATE dbo.TIDC SET IDC_Now_TO = '" + FloatToStr(SimpleRoundTo(New_Now_TO)) + "' WHERE IDC_Name = '" + Clocks->Strings[0] + "'"; Q->SQL->Text = Query; В чем прикол?? P.s. записываемое число : 9090,43 P.s.s извините не заметил что это "Начинающим по Delphi" - хотя TADO что там, что тут одинаковы. ********************* P.s.s.s Извиняюсь - разобрался. Проблема в том, что дибильный MSSQL не может присвоить ячейке float значение 555,56 т.к. ему нужно чтобы была не запятая - а точка. Воткнул костыль, заработало. Если кому нужно : Код:
String Qs = FloatToStr(SimpleRoundTo(New_Now_TO)) ; // оставляем 2 знака после запятой int Delit = Qs.Pos(","); Qs = Qs.Delete(Delit,1); Qs = Qs.Insert(".",Delit); // Втыкаем вместо "," = "." String Query = "UPDATE dbo.TIDC SET IDC_Now_TO = '" + Qs + "' WHERE IDC_Name = '" + Clocks->Strings[0] + "'"; Последний раз редактировалось alexusankov, 21.04.2013 в 21:44. |