Здравствуйте. Пытаюсь перезаписать в таблице значения, вылетает ошибка : Ошибка при преобразовании типа данных 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;
При этом в БД IDC_Now_TO тип float, и у New_Now_TO так же, тип float.
В чем прикол??
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] + "'";