![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как бороться с сообщениями сервера? [D6, MSSQL]
Василиск © (2003-11-06 11:27:00)
Hi!
Интересует такой разрез вопроса: когда ругается, например констрайнт или форенкей (добавление, изменение, удаление), то пользователю выдается ошибка, которую, ессно, он не понимает и ужасно напрягается :) Так вот, как вы решаете вопрос оповещения пользователя в таких ситуациях на нормальном русском языке?
Можно конечно каждый раз все эти условия проверять вручную с клиента, но это как-то неудобно. Какие есть варианты?
jocko (2003-11-06 12:37:00) [1]
Все вызовы делать через try. а ошибки сервера обрабатывать в событии adoconnection ExecuteComplete.
Я, например, вообще все обращения к серверу заворачиваю в функиции возвращающие boolean. такой способ нахожу удобным...
Да, кстати, пользуюсь только ХП а в них обычно делаю предварительную проверку после чего, в случае необходимости использую raiserror и сообщение по русски. все вместе выглядит вполне прилично.
sniknik (2003-11-06 12:33:00) [2]
Василиск (06.11.03 12:28) [3]
универсально
try
.... любой код
except
on E: Exception do begin
... разбор E
end
end;
Василиск (2003-11-06 12:28:00) [3]
А какое событие происходит в TADOStoredProc после выполнения ExecSQL или все события связаны только с рекордсетом?
DenK_vrtz (2003-11-06 11:40:00) [4]
Можно код ошибки сервера обработать и в зависимости от этого кода выдавать соответствующее русское сообщение.
Hooch (2003-11-06 11:37:00) [5]
можно в try except отлавливать ошибку, писать какой-нибудь текст на русском тип "Ошибка обработки данных" а текст ошибки показывать если юзер нажмет кнопочку "подробее"