TDBEdit - '' is an invalid float

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

TDBEdit - '' is an invalid float

Сообщение 7bit » 25.12.2011 20:12:18

Хочеться прояснить ситуацию с TDBEdit. TDBEdit связан с числовым полем. Если ввести в него число, затем очистить, то при выходе из этого элемента возникает исключение EConvertError: '' is an invalid float. Приходится присваивать Null полю в обработчике OnEditingDone:
Код: Выделить всё
if SQLQuery.State in [dsInsert, dsEdit] then
  if DBEdit.Text = '' then
    DBEdit.Field.Value := Null;

Похожая ситуация, если с DBEdit связано поле с типом Дата.

Компоненты используются стандартные.
Lazarus 0.9.30.2 + Firebird.
7bit
новенький
 
Сообщения: 41
Зарегистрирован: 01.10.2011 12:35:52

Re: TDBEdit - '' is an invalid float

Сообщение Little_Roo » 25.12.2011 21:47:10

7bit писал(а):TDBEdit связан с числовым полем. Если ввести в него число, затем очистить, то при выходе из этого элемента возникает исключение


Не замечено ни разу :shock:
Использую порядка 300 tdbedit'ов - и в числовых значениях, и в строковых - полет нормальный....
Копайте код.
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: TDBEdit - '' is an invalid float

Сообщение 7bit » 26.12.2011 19:27:50

Вот небольшой примерчик (второе поле на форме): http://download51.files.mail.ru/NSXMRZ/4f2df60927e8ec8c2f6b8e75c857aa70/TestDBEdit.zip
Экспериментировал с типом поля БД. Оказывается такая ошибка возникает только с типами numeric и decimal.
P.S. Я писал, что с датой то же самое. На самом деле все работает, я ошибся.
7bit
новенький
 
Сообщения: 41
Зарегистрирован: 01.10.2011 12:35:52


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 227

Рейтинг@Mail.ru