Главная страница
    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.051 c
15-1416794850
Кто б сомневался
2014-11-24 05:07
2015.09.10
Нужна ли синхронизация когда потоки только читают?


15-1417463414
Kerk
2014-12-01 22:50
2015.09.10
Java => Delphi


15-1421265883
sysdmg4
2015-01-14 23:04
2015.09.10
Система тестирования ПО на основе виртуальных машин - нужен совет


2-1392624704
alexdn
2014-02-17 12:11
2015.09.10
Раскрасить Edit


2-1397148582
sdfdh
2014-04-10 20:49
2015.09.10
Нестабильно работет StrToDateTime()





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский