![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перехватить ошибку? [D7, Paradox]
Юлия © (2003-08-26 12:44:00)
При попытке добавить неуникальное значение в индексированное (уникально) поле таблицы появляется ошибка. Как перехватить ее и вывести своесообщение?
LVitaliy (2003-08-26 13:00:00) [21]
Поставить
try ....
Post
except
Сообщение("Неуникальное значение");
end;
ZrenBy (2003-08-26 12:59:00) [22]
Проверять перед вставкой
if(t.FindKey(...)=True)then raise ...
VAleksey (2003-08-26 12:59:00) [23]
Try
Post;
Except
On E:Exception do
begin
....
end;
end;
Это общий случай.
В твоем случае можно > Zacho © (26.08.03 12:48)
PS
А вместо Exception нужный класс исключения.
Юлия (2003-08-26 12:56:00) [24]
как предотвратить появление стандартного сообщения?
procedure Form1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
application.MessageBox("Неуникальное значение","Ошибка",mb_ok);
abort;
end;
Стандартное сообщение появляется все равно.
И как определить, что ошибка произошла именно в результате вставки неуникальной записи?
Zacho (2003-08-26 12:48:00) [25]
Например, написать обработчик события OnPostError.