![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обработат исключение при вводе в DBGride
Делфиец © (2009-12-24 13:20:00)В таблице БД стоит ограничение на ввод: нелзя повторяющиеся записи, нельзя пустые поля.. Когда в вводиш в таблицу повторяющуюся запись или пустую возникают исключения, получается что такую же запись ввести нельзя, а пустую запись оставить невозможно, все-таки что то нужно ввести. Как обработать эту ситуацию, что ничего не вводить а просто отменить ввод?
Медвежонок Пятачок (2009-12-24 14:47:00) [21]а есть проблемы в выскакивающий сообщениях с крестами - они пугают.
это проблемы дизайна приложения.
"не хочу программировать ввод, но хочу контролировать процесс ввода."
то есть если уж ты решил возложить работу по вводу на грид, то надо на него и полагаться.
они пугают.
а что они должны делать? успокаивать и веселить? типа не бойся юзер, я все исправлю?
Sergey13 (2009-12-24 14:44:00) [22]> [6] Делфиец (24.12.09 14:35)
> есть проблемы в выскакивающий сообщениях с крестами - они пугают.
Крест или пользователи не православные?
Может ты не понял Медвежонка, но данных в гриде нет, они есть в датасете, на который смотрит грид. У датасета есть события в которых можно проанализировать данные и/или перехватить сообщение об ошибке.
Делфиец (2009-12-24 14:35:00) [23]
> Anatoly Podgoretsky © (24.12.09 14:13) [5]
> > Делфиец (24.12.2009 13:20:00) [0]Спросил бы пользователей,
> они бы тебе про клавишу Esc расказали.
Дело не в [Esc] в его использовании нет проблем, а есть проблемы в выскакивающий сообщениях с крестами - они пугают.
Anatoly Podgoretsky (2009-12-24 14:13:00) [24]> Делфиец (24.12.2009 13:20:00) [0]
Спросил бы пользователей, они бы тебе про клавишу Esc расказали.
Медвежонок Пятачок (2009-12-24 13:53:00) [25]так как вызов едит/пост идет изнутри кода грида, то тебе его не обернуть траем ексептом.
зато есть TDataSet.OnPostError
Медвежонок Пятачок (2009-12-24 13:50:00) [26]обработка исключений делается с помощью try/except.
но у тебя не тот случай.
ввод делается объектом грида, кооторый заточен на взаимодействие с пользователем. и оно реализовано так, что кансел датасету можно сделать ескейпом.
Делфиец (2009-12-24 13:43:00) [27]
> Медвежонок Пятачок © (24.12.09 13:23) [1]
> ескейп нажать
ак обработат исключение при вводе в DBGride? Мнебы перехватить исключение, и сделать ситуацию управляемой, что бы эти кресты пегающие не выскакивали.
Медвежонок Пятачок (2009-12-24 13:23:00) [28]ескейп нажать