C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Имеет ли TDBEdit event onValidate ?!, Неужели его нет в C++Builder ?!
Treumer
Отправлено: 23.02.2005, 16:33


Станционный диспетчер

Группа: Участник
Сообщений: 92



Очень хочется проверять значение в TDBEdit перед тем, как запись будет вставляться на нажатие кнопки "nbPost" DBNavigator.

Я так понял в Delfi легко делается через onValidate.

Я попробовал через
CODE

DBNavigatorClick(TObject *Sender,TNavigateBtn Button)
...
   case nbPost:
           if (isDBEditFieldEmpty(DBEdit_PersID))
             Abort();


Но "левое" исключение, что поле не должно быть пустым — все таки вылетает...

Как же это обойти то ?! ohmy.gif
AVC
Отправлено: 23.02.2005, 17:17


Ветеран

Группа: Модератор
Сообщений: 1583



Проверять стоит не значение TDBEdit а непосредственно поле БД (первоисточник).
Если вам не хватает событий DataSet типа Before..., то у DataSource есть событие OnDataChange, которое можно чудненько использовать для разных перекрестных проверок внутри записи и заполнения вычислиямых полей. Правда можно "нарваться" на рекурсию.

Вернуться в Работа с базами данных в C++Builder