Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать проверку ввода данных? [D6, IB6.x]


Mic_2000 ©   (2002-11-26 11:50:00) 

Мне нужно проверить все ли столбцы заполнены в гриде, если не все то выдать сообщение и продолжить редактирование, я хотел в событие TTable.BeforePost поставить проверку, но как там отманить метод Post?


Johnmen   (2002-11-26 13:00:00) [1]

Присоединяюсь к тем, кто за Аборт !
Считаю это наиболее корректным и наименее трудоемким...
(в рамках поставленного вопроса)


Victor_Cr   (2002-11-26 12:59:00) [2]

2 GLUKAS © (26.11.02 12:19)

Самый оптимальный вариант был предложен Reindeer Moss Eater (26.11.02 12:35), т.к. подходит как для явного запуска транзакций так и для неявного. И вообще так "граматнее".


Reindeer Moss Eater   (2002-11-26 12:35:00) [3]

Генерация Exception в BeforePost если что-то не заполнено


passm   (2002-11-26 12:27:00) [4]

GLUKAS © (26.11.02 12:19)> Проверка на уровне данных в идеале должна быть всегда. Но, для комфортной работы пользователя, часто желательно дублировать проверку данных на уровне интерфейса.
exit (26.11.02 12:14)> Нет. TDataSet.Cancel здесь не подойдет, т. к. вызовет отмену редактирования НД. <stone © (26.11.02 12:11)> прав, здесь нужен Abort.


GLUKAS   (2002-11-26 12:19:00) [5]

А как насчет создать для таблицы тригер BEFOR UPDATE допустим
и там проверить все поля....


exit   (2002-11-26 12:14:00) [6]

Ну вот, еще одна жертва "Abort".

TTable.Cancel;

Если не приучены делать все в транзакциях с ApplyUpdates


Prooksius   (2002-11-26 12:13:00) [7]

Поставь на нужные поля NOT NULL и у тебя exception будет генериться сам, если ты не заполнишь эти поля.


stone   (2002-11-26 12:11:00) [8]

I>
> но как там отманить метод Post?

Abort;<


Calm   (2002-11-26 11:52:00) [9]

Я на пример все данные добавляю через хранимые процедуры.
В процедуре все проверяется и если что-то неправильно, то генерируется исключение, которое отлавливается в клиентской проге.


Наверх

Титульная страница Поиск, карта сайта Написать письмо