Как видеть реальные состояния БД?
Модератор: kdv
Как видеть реальные состояния БД?
Как мне сделать чтобы когда другой пользователь ввёл или изменил запись, то чтобы и в других клиентах это отобразилось? открывать/закрывать Датасэт (ФИБ+) по-моему это не логично,и нагрузка на сервак...
и ещё я не пойму: как мне перехватывать ошибки сервера (Файрбёрд 1.5), например, повторение первичного ключа и т.д., чтобы моё сообщение вылетало, а не это ...страшное... серверное?
и ещё я не пойму: как мне перехватывать ошибки сервера (Файрбёрд 1.5), например, повторение первичного ключа и т.д., чтобы моё сообщение вылетало, а не это ...страшное... серверное?
логично изучить модель клиент-сервер. сервер никому ничего не должен. что его попросят, то и делает. изменить запись - пожалуйста. но клиентам об этом он сообщать не обязан. Клиенты могут вообще не смотреть на эту конкретную запись.Как мне сделать чтобы когда другой пользователь ввёл или изменил запись, то чтобы и в других клиентах это отобразилось? открывать/закрывать Датасэт (ФИБ+) по-моему это не логично,и нагрузка на сервак...
tryещё я не пойму: как мне перехватывать ошибки сервера (Файрбёрд 1.5), например, повторение первичного ключа и т.д., чтобы моё сообщение вылетало, а не это ...страшное... серверное?
except
on E: Exception do ...
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
-
- Сообщения: 41
- Зарегистрирован: 27 окт 2004, 11:06
Эвентами тоже злоупотреблять не стоит по понятным причинам. Надо грамотно использовать виды транзакций, параметры изоляции и т.д. Все это не 100 процентная гарантия от коллизий, но в сочетании со средтсвами обработки исключений дает вполне хороший результат.Dmitry Beloshistov писал(а):Эвенты используй. Как только другой пользователь закоммитится - получишь у себя уведомление.AnryGTR писал(а):Ясно, значит видеть изменения не удастся пока не переоткроешь датасет.