Вниз
Скачать: CL | DM;

Как сделать проверку ввода данных?   Найти похожие ветки 

 
Mic_2000 ©   (2002-11-26 11:50) [0]

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


 
Calm ©   (2002-11-26 11:52) [1]

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


 
stone ©   (2002-11-26 12:11) [2]

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

Abort;<


 
Prooksius ©   (2002-11-26 12:13) [3]

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


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

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

TTable.Cancel;

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


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

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


 
passm ©   (2002-11-26 12:27) [6]

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


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

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


 
Victor_Cr ©   (2002-11-26 12:59) [8]

2 GLUKAS © (26.11.02 12:19)

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


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

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-36176
kex86
2002-12-04 09:22
2002.12.12
Transparent


1-36157
Sonder
2002-12-02 22:59
2002.12.12
VCL


1-36087
idz
2002-12-02 21:59
2002.12.12
Подпись оси Y в графике (компонент TChart)


1-36123
LongIsland
2002-12-02 15:46
2002.12.12
Недостаточно памяти для обработки команды


7-36422
Геннадий
2002-10-09 20:38
2002.12.12
Как обратиться к IE как к серверу COM ?




   Наверх