![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Набор редактируется в гриде. [D6, XP]
DROWSY © (2010-03-18 18:59:00)Вводимое в поле значение должно быть больше
"верхнего и "левого".
1. Где лучше проверять корректность вводимого значения на сервере или
клиенте?
2. На каком событии перехватывать?
Amoeba_ (2010-03-29 23:10:00) [1]
> как можно сделать так, чтобы сохранился режим dsEdit или
> dsInsert, то есть чтобы Post не проходил?
Вызовом процедуры Abort
DROWSY (2010-03-29 22:42:00) [2]Если перехватывать ошибку ввода данных в BeforePost, то как можно сделать так, чтобы сохранился режим dsEdit или dsInsert, то есть чтобы Post не проходил?
Германн (2010-03-20 02:59:00) [3]
> Рядом с тобой - только повернись.
>
:)
http://www.aviaport.ru/digest/2008/10/02/158604.html
Jeer (2010-03-19 23:43:00) [4]
> Игорь Шевченко © (18.03.10 22:24) [17]
>
> Jeer © (18.03.10 21:40) [15]
>
>
> > Редактирование в DBAware компонентах - это начальная,
> учебная
> > практика
>
>
> А мы и не знали...редактируем. Где стенка, об которую нам
> убиться ?
Рядом с тобой - только повернись.
MsGuns (2010-03-19 09:18:00) [5]Вдогонку пример из жизни.
Есть сервер, на котором "крутится" производственная БД, в которой есть к примеру состав изделий. У этой базы много задач-клиентов (Оперативное управление, Подготовка производства, Отгрузка продукции, Логистика и т.д. и т.п.), которые активно используют этот самый состав, в том числе и корректируют его какждый по-своему, в рамках своей "компетенции".
"Строить" сервер под каждую задачу (имеется в виду проверять данные в полном объеме) сложно, да и не нужно. На сервере выполняются лишь"системные" проверки на целостность. "Логика" же на "совести" приложений-клиентов.
MsGuns (2010-03-19 09:12:00) [6]>Юрий Зотов © (19.03.10 01:29) [19]
>До тех пор, пока они не будут хоть как-то обоснованы.
Вот хотя бы одно обоснование.
Запись БД состоит из N полей-реквизитов. В любом из них на клиенте может быть допущена
ошибка. Если проверка выполняется на сервере, то надо эти ошибки как-то конкретизировать "клиенту", для чего потребуется написать много кода в ХП. Кроме того, затруднительно диагностировать сразу ВСЕ ошибки, а не первую встретившуюся. Ну и главное, пожалуй: ошибки могут быть семантическими и "привязанными" к конкретной реализации клиента (задачи). Т.е. одному "клиенту" можно внести отрицательное значение, а другому - нет. Как это гармонично разрулить на сервере, не загромождая код сиквеля и привязывая жостко сервер к клиенту ?
Ну и при работе с удаленным сервером такая технология вообще тормознутая на всю голову.
Но какую именно технологию выбрать зависит, конечно, от конкретной ситуации.
Sergey13 (2010-03-19 08:44:00) [7]> [25] DROWSY (19.03.10 03:12)
Ты редактируешь/вводишь так ВСЮ таблицу или какой то ограниченный набор данных? Что это в предметной области?
Германн (2010-03-19 03:15:00) [8]Тогда я пас.
DROWSY (2010-03-19 03:12:00) [9]Это таблица базы данных СУБД Firebird 1.5
Германн (2010-03-19 03:05:00) [10]
> DROWSY (19.03.10 02:43) [23]
Эта таблица имеет хоть какое-то отношение к Базам Данных?
Если да, то какое?
DROWSY (2010-03-19 02:43:00) [11]Таблица, в которой только целочисленные поля.
Набор из такой таблицы нужно редактировать, проверяя корректность новых значений.
Германн (2010-03-19 02:35:00) [12]Для начала объясни сей бред.
> DROWSY (18.03.10 19:51) [3]
>
>
> > Anatoly Podgoretsky © (18.03.10 19:05) [1]
>
>
> 1. Если набор из таблицы:
>
>
Из какой таблицы? Откуда сия взялась?
Германн (2010-03-19 02:15:00) [13]
> DROWSY (19.03.10 01:41) [20]
>
> Я итак запутанный был, а вы меня окончательно запутали..
> .
>
"Учись студент"! (с)
:)
DROWSY (2010-03-19 01:41:00) [14]Я итак запутанный был, а вы меня окончательно запутали...
Юрий Зотов (2010-03-19 01:29:00) [15]> MsGuns © (18.03.10 21:23) [12]
> Очень спорное решение.
Возможно. Но обоснование я привел. Может, и спорное - но привел. А вот серьезныхвозражений не услышал. Потому что два ничем не подкрепленных утверждения:
> Проверку корректности вводимых на клиенте данных без крайней
> необходимости не следует "поручать" серверу. А уж задействовать для
> этой цели триггер вообще мина
считать серьезнымивозражениями никак не могу. До тех пор, пока они не будут хоть как-то обоснованы.
Германн (2010-03-19 01:20:00) [16]
> А мы и не знали...редактируем. Где стенка, об которую нам
> убиться ?
Такая стенка точно есть! Но вот точное её расположение пока неизвестно. Увы.
:)
Игорь Шевченко (2010-03-18 22:24:00) [17]Jeer © (18.03.10 21:40) [15]
> Редактирование в DBAware компонентах - это начальная, учебная
> практика
А мы и не знали...редактируем. Где стенка, об которую нам убиться ?
DROWSY (2010-03-18 22:15:00) [18]
> Jeer © (18.03.10 21:40) [15]
Спасибо.
Jeer (2010-03-18 21:40:00) [19]
> DROWSY (18.03.10 21:26) [14]
> Почему?
> Именно о редактировании Ваше ИМХО или о проверке корректности
> вводимых значений?
> Что Вы используете?
Редактирование в DBAware компонентах - это начальная, учебная практика.
При более/менее серьезных объемах редактирования - отдельные функциональные компоненты ввода ( грубо - текст, цифра, даты, время )
Там же, в окне ввода, производится проверка корректности данных на уровне каждого компонента или окончательного Ok от пользователя.
В последнем же случае - уже могут участвовать серверные проверки.
DROWSY (2010-03-18 21:26:00) [20]
> Jeer © (18.03.10 21:14) [11]
Почему?
Именно о редактировании Ваше ИМХО или о проверке корректности вводимых значений?
Что Вы используете?