Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в клиентском приложении корректно обработать ситуацию ... [D7, Yaffil]


Cranium ©   (2003-05-12 20:58:00) 

Как в клиентском приложении корректно обработать ситуацию когда пользователь пытается открыть таблицу, доступ к которой не имеет... Используются компоненты FIBPLUS


HSolo   (2003-05-13 11:25:00) [1]

Что-нибудь в таком духе:
try
...
except
if (E is EFIBError) then
with EFIBError(E) do
begin
if SQLCode = ... then ...
...
end;
end;


Zacho   (2003-05-13 00:03:00) [2]


> sunrider (12.05.03 23:52)

Ты не совсем прав. Во-первых иногда нужно блокировать именно таблицы. Во-вторых, что такое "активная запись" ? Нет такого термина в рамках РСУБД. А в-третьих речь шла о правах пользователя на доступ к объектам БД. А к блокировкам это не имеет ни какого отношения.


sunrider   (2003-05-12 23:52:00) [3]

Ты ведь работаешь с клиент-серверной базой данных. А там
обычно таблица не блокируется. Клиент в момент времени имеет
доступ к активной записи, так и происходит commit транзакции.
Блокировка таблицы для таких баз данных не очень хорошо - теряется смысл использования системы клиент - сервер.


Zacho   (2003-05-12 22:02:00) [4]


> Cranium © (12.05.03 21:47)

Насчет кода ошибки честно говоря не копенгаген :) , но всегда можно пропарсить текст сообщения об ошибке, например по "no permission for read/select access" или просто по слову "access" и выдать свое сообщение или еще что-нибудь сделать :)
А все-таки я предпочитаю делать приложения так, чтобы юзеру просто были недоступны действия, на которые у него нет прав


Cranium   (2003-05-12 21:47:00) [5]

Да с обработкой исключительной ситуации все ясно...
Мне нужно получить код ошибки, и соответственно выдать свое сообщение юзеру...


Zacho   (2003-05-12 21:10:00) [6]

Насчет спечифических фич FIBPlus не знаю, но неужели не подойдет что-то типа
try
Что-то-там.Open;
...
except
...
end;
А еще лучше сделать приложение так, чтобы пользователь просто не видел то, к чему у него нет доступа даже на чтение.


Наверх

Титульная страница Поиск, карта сайта Написать письмо