![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ещё один вопрос по except
Фазер © (2004-11-15 11:53:00)На форме DBGrid, подкл. к БД через ADOQuery+ADOConnect, удаляю запись связанную как одна ко многим. SQLServer ругается, т.к. эту запись удалить нельзя. Как получить исключенеи в этой ситуации? Пробовал отрабатывать AfterDelete или BeforeDelete, отследить не могу, вопрос, надо действительно отрабатывать одно из этих событий, чтобы вызвать этот ексепшин, или какое другое?
Если удаляю через "DELETE ****", то тут без проблем, отлавливаю, а вот если чисто из грида?
Заранее спасибо.
Фазер (2004-11-17 08:53:00) [1]Ну вот блин, ЮЮ! Конечно же это OnException! Но почему только сейчас, с понедельника веду активный поиск... Н в общем я рад, что задача решена, и двигаемся раньше. OnException действительно прорыв, раньше с ним никогда не работал.
ЮЮ (2004-11-17 08:28:00) [2]Ну и? Ближе к ошибке, чем в обработчике TApplication.OnException?
Фазер (2004-11-17 08:16:00) [3]По моему полное игнорирование :(
Люди! Пока писал этот топик, дошло!!! F1 форева!!!
Фазер (2004-11-16 16:22:00) [4]Здравствуйте господа!
Вопрос так ещё и не решен :( .... Решаю 2й день, помогите, кто нибудь :( До/после/чего отловить событие SQL ошибки для своего месаджа?
РРР (2004-11-16 11:39:00) [5]Просто никто не знает, как это сделать.
Фазер (2004-11-15 13:23:00) [6]Мастера, вы скажи'те, стоит ли заморачиваться по этому поводу, отлова различных сообщений об ошибках от MSSQL? Очень уж хочется вставить в свою менюху ошибочные сообщения. :( По какому хоть ключевому слову материал поискать? F1 и MSDN не предлагать :)
Фазер (2004-11-15 12:59:00) [7]Да.. Postне возникает, т.к. БД ругается, в итоге OnPostErrorне ловит :(
Фазер (2004-11-15 12:56:00) [8]
"этот ексепшин" у тебя и так возник, что ещё надо?
Ошибку вставить в свою менюху, пока так ShowMessage(E.Message);
OnPostError- сейчас посмотрю.....
ЮЮ (2004-11-15 12:02:00) [9]>SQLServer ругается гораздо позже, чем AfterDelete.
А для некэшированных изменений, скорее всего, раньше.
Но в любом случае, не вместо и не вместе.
ЮЮ (2004-11-15 11:58:00) [10]SQLServer ругается гораздо позже, чем AfterDelete.
>надо действительно отрабатывать одно из этих событий, чтобы вызватьэтот ексепшин, или какое другое?
"этот ексепшин" у тебя и так возник, что ещё надо?
Vlad (2004-11-15 11:57:00) [11]
> Фазер (15.11.04 11:56) [1]
На событие AfterDelete это делать бессмысленно.
Попробуй на OnPostError (хотя не уверен что для Delete сработает)
Фазер (2004-11-15 11:56:00) [12]
procedure Tfform.q1AfterDelete(DataSet: TDataSet);
begin
try
// ??? :(
except
on E: EOleException do ShowMessage(E.Message);
else ShowMessage('Неизвестная ошибка!');
end;
end;