![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Набор редактируется в гриде. [D6, XP]
DROWSY © (2010-03-18 18:59:00)Вводимое в поле значение должно быть больше
"верхнего и "левого".
1. Где лучше проверять корректность вводимого значения на сервере или
клиенте?
2. На каком событии перехватывать?
MsGuns (2010-03-18 21:24:00) [21]>Jeer © (18.03.10 21:14) [11]
>Редактирование в DBGrid-e - зло
Тут проблема вовсе не в гриде :)
MsGuns (2010-03-18 21:23:00) [22]>Юрий Зотов © (18.03.10 19:07) [2]
>проверку лучше делать на сервере. Перехватывать можно в триггере.
Очень спорное решение. Проверку корректности вводимых на клиенте данных без крайней необходимости не следует "поручать" серверу. А уж задействовать для этой цели триггер вообще мина :)
Jeer (2010-03-18 21:14:00) [23]Могу сказать свое ИМХО
Редактирование в DBGrid-e - зло
DROWSY (2010-03-18 20:47:00) [24]
> Jeer © (18.03.10 20:34) [8]
Если на уровне грида, то в TCustomDBGrid.OnDrawDataCell проверку делать?
Jeer (2010-03-18 20:37:00) [25]
> Медвежонок Пятачок © (18.03.10 20:02) [4]
>
> это у тебя один. а в соседней комнате есть второй, в котором
> проверка не запрограммирована
> <Цитата>
>
> Медвежонок Пятачок © (18.03.10 20:03) [5]
>
> например это микрософт ёксель или sqlexplorer делфийский
Вот не надо ля-ля..
Если каждая уборщица получит доступ к заветной кнопке..
В общем, динозавры еще много пожили, прежде чем откинуться.
Jeer (2010-03-18 20:34:00) [26]
> DROWSY (18.03.10 20:10) [6]
>
>
> > Медвежонок Пятачок © (18.03.10 20:02) [4]
>
> Программа пишется под локальный сервер и одного клиента.
>
Не слушай апологетов исключительно серверной бизнес-логики.
Ни одна, солидная по архитектуре, база данных еще не была польностью нормализована, т.к. это теоретический изыск.
Точно также и размещение исключений на ввод данных может быть выполнено где-угодно, а должно выполняться там, где удобно разработчику, с учетом известных ему архитектурных ограничений.
Anatoly Podgoretsky (2010-03-18 20:30:00) [27]> DROWSY (18.03.2010 20:10:06) [6]
Создай локальный массив и рули им.
DROWSY (2010-03-18 20:10:00) [28]
> Медвежонок Пятачок © (18.03.10 20:02) [4]
Программа пишется под локальный сервер и одного клиента.
> Медвежонок Пятачок © (18.03.10 20:03) [5]
Delphi 6, Firebird 1.5
Медвежонок Пятачок (2010-03-18 20:03:00) [29]например это микрософт ёксель или sqlexplorer делфийский
Медвежонок Пятачок (2010-03-18 20:02:00) [30]это у тебя один. а в соседней комнате есть второй, в котором проверка не запрограммирована
DROWSY (2010-03-18 19:51:00) [31]
> Anatoly Podgoretsky © (18.03.10 19:05) [1]
1. Если набор из таблицы:
x11, x12, x13, x14 ,x15
x21, x22, x23, x24 ,x25
x31, x32, x33, x34 ,x35
то,
Для каждого вводимого xIJ д.б. xI, J-1("левое") <= xIJ и xI-1 ,J ("верхнее") <= xIJ
2. Вопрос в том, "объяснять" ли эти правила серверу,
чтобы проверку вводимых значений проверять при передаче на сервер,
или проверять раньше, например на гриде?
> Юрий Зотов © (18.03.10 19:07) [2]
Клиент один.
Для обработки в триггере, наверное, надо будет в триггер помещать процедуру с параметрами? Так?
Юрий Зотов (2010-03-18 19:07:00) [32]В базу можно влезть и другим клиентом, поэтому проверку лучше делать на сервере. Перехватывать можно в триггере.
Anatoly Podgoretsky (2010-03-18 19:05:00) [33]> DROWSY (18.03.2010 18:59:00) [0]
Что такое левое и верхнее и знаком ли сервер с этими понятиями?