32,7893256547 не является допустимым значением BCD
У меня есть числовой (26,10) столбец "x" в SQL Server 2008. Когда я пытаюсь прочитать значения столбца, используя FieldByName('x') TADOQuery.AsExtended, я получаю ошибку "32,7893256547 не является допустимым BCD значение".
"32,7893256547" является одним из значений столбца.
Это происходит только на некоторых компьютерах. На тех компьютерах, когда я изменяю настройку Windows "Количество цифр после десятичной дроби" на 9 в настройках региона, то все работает нормально.
Я вижу, что столбец сопоставлен с TFMTBCDField в ADOQuery.
Это проблема с преобразованием / форматированием BCD? И как я могу решить эту проблему?
Платформа: Windows 7, Delphi 2009, SQL Server 2008.
2 ответа
У меня была такая же проблема, когда я пытался использовать
ADOQuery1.FieldByName('YourField').AsString;
Решено с этим:
BCDToStrf(ADOQuery1.FieldByName('YourField').AsBCD,ffFixed,11,3) ;
Мне помогает изменить десятичную точку в Windows 7 от запятой до точки и обратно в Пуск> Панель управления> Часы, язык и регион> Изменить формат даты, времени и чисел и изменить десятичную точку для чисел и валюты с запятой на точку или другим способом. вокруг и обратно.
Извините, но я использую Windows на чешском языке, и у нас есть запятая в качестве десятичной точки по умолчанию. Некоторые подписи переведены на английский язык, поэтому они не должны быть точными.