Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

0,1 is not a valid BCD value   Найти похожие ветки 

 
Дмитрий   (2014-04-01 16:56) [0]

При заполнении одного из полей формы внезапно полезла ошибка типа "0,1 is not a valid BCD value".
Явно связана с десятичным разделителем, на ввод дробной части ругается.
В базе поле определено `Price` decimal(19,4) DEFAULT "0.0000".
Датасет AnyDAC.TADQuery.
Упоминаемое здесь
http://www.sql.ru/forum/846144/decimalseparator-tfmtbcdfield-i-naglaya-ado
свойство EnableBCD в списке отсутствует.
По какой причине поле перестало работать?


 
sniknik ©   (2014-04-01 17:08) [1]

возможно запятую берет из локальных настроек (панель управления "язык и региональные настройки"), попробуй поставь там точку.


 
Дмитрий   (2014-04-01 17:53) [2]

Поле категорически отказывается принимать точку, с одной стороны.
С другой, точка в одном поле как разделитель совершенно не устраивает.

Обнаружил, проблема связана не с разделителем, а с пробелом перед числом.
Формат отображения выставлен с пробелом между разрядом тысяч и сотен (#_##0.00).
При переходе в режим редактирования перед трех значным числом оказывается пробел, при редактировании части числа вылетает ошибка.
При выделении всего содержимого и вводе числа целиком ошибка не возникает.
После заполнения свойства EditFormat (0.00) проблема исчезла.


 
Юрий Зотов ©   (2014-04-02 15:27) [3]

Тут еще вот на что напоролись (DB2).

Таблица T:
F1 - число(11, 0)
F2 - char(3)

insert into T (F1, F2) values (123,"XYZ") - выдает ошибку invalid token.

Кто поймет, в чем дело - тому респект и уважуха.


 
sniknik ©   (2014-04-02 17:46) [4]

а Т тут случаем не от True? в foxpro так было, в смысле T и F зарезервированные переменные.
в кавычки взять... ну в такие какие в DB2 приняты, в mssql было бы [T].


 
Inovet ©   (2014-04-02 18:28) [5]

> [4] sniknik ©   (02.04.14 17:46)

Не, там были .T. и .F., просто буква как и любая другая. Это в dbf они хранились, как ты говоришь.


 
Inovet ©   (2014-04-02 18:29) [6]


> [3] Юрий Зотов ©   (02.04.14 15:27)
> insert into T (F1, F2) values (123,"XYZ") - выдает ошибку invalid token.

Неужели надо было 123,0, "XYZ"?


 
[ВладОшин] ©   (2014-04-02 19:56) [7]

тоже ставлю на cast(123 as число(11,0) )


 
Юрий Зотов ©   (2014-04-02 20:07) [8]

Братцы, вы не поверите. Даю подсказку:
insert into T (F1, F2) values (123, "XYZ") - все ОК


 
brother ©   (2014-04-02 20:26) [9]

> 123,"XYZ"

"XYZ" оно думал, что это дробь числа? О_о


 
Юрий Зотов ©   (2014-04-02 20:35) [10]

Ну да, после запятой парсер ожидал цифру или пробел, а встретил апостроф. Мы были в шоке.


 
Юрий Зотов ©   (2014-04-02 20:39) [11]

И еще чудо - тот же самый insert, который давал ошибку, без проблем выполнился в той же БД, но через другой клиент.


 
[ВладОшин] ©   (2014-04-02 21:23) [12]


>  но через другой клиент.

хотел же уточнить насчет ЯП/ПО..


 
Inovet ©   (2014-04-02 21:44) [13]

Подумал было про пробел, но решил, что слишком глюкотно, оказывается, нет предела.

Другой клиент региональные настройки правильно потдягивал.


 
Германн ©   (2014-04-03 02:18) [14]


> Юрий Зотов ©   (02.04.14 20:39) [11]
>
> И еще чудо - тот же самый insert, который давал ошибку,
> без проблем выполнился в той же БД, но через другой клиент.
>

А что такое "клиент"? Провайдер?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.091 c
2-1394781921
Alex_C
2014-03-14 11:25
2015.09.10
Своя отрисовка TMemo


1-1332865343
n199a
2012-03-27 20:22
2015.09.10
TXMLDocument и Out of memory


15-1414083578
Kerk
2014-10-23 20:59
2015.09.10
Delphi -> Object Pascal


15-1415822458
Dennis I. Komarov
2014-11-12 23:00
2015.09.10
маленький http


15-1415606556
Rouse_
2014-11-10 11:02
2015.09.10
Протестируйте плз код на AMD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский