Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

TADOQUERY как определить ошибку.   Найти похожие ветки 

 
NEWS   (2004-07-30 17:07) [0]

Всем здрасьте.
ЕСТЬ компонент TADOQUERY, который работает на UPDATE.
Для ловли ошибки сделано так:

try
adoquery1.exec;
except
showmessage("Error");
adoquery1.close;
end

Вопрос
как вместо showmessage("Error"); показать текст настоящей ошибки. Как узнать текст ошибки.

СПАСИБО


 
Сергей1   (2004-08-01 19:38) [1]

полагаю, надо делать через обработчик события ADOQuery1EditError :

procedure TForm1.ADOQuery1EditError(DataSet: TDataSet; E: EDatabaseError;
 var Action: TDataAction);
begin
action:=daAbort;
showmessage(e.message)
end;

параметр Е содержит всю инфу об ошибке, а установка action:=daAbort должна подавить всплывающее окно с ошибкой, вот только у меня это не работает :), ничего не понимаю, в хелпе сказано делать именно так, если кто знает, поделитесь опытом


 
сергей1   (2004-08-01 21:40) [2]

забыл указать, как обойти эту ситуацию, вот например как обработать нарушение первичного ключа :

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.ADOQuery1.SQL.Text:="insert into "Table1" values ("
+quotedstr("5")+", "+quotedstr("xdf")+")";
try
form1.ADOQuery1.ExecSQL;
except on E:exception do
begin
 if strpos(pchar(E.Message),"PRIMARY")<>nil then
  begin
   showmessage("Нарушение первичного ключа !");
  end
end;
end;
end;

а вообще, у меня сделано через ХП, которые сами обрабатывают такие ситуации и возвращают клиенту код завершения, а клиент, в зависимости от него, сам генерирует соответствуюшее сообщение



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
1-1091707980
Menel
2004-08-05 16:13
2004.08.22
Вопрос по окружностям и знакам...


3-1090902152
Jiny
2004-07-27 08:22
2004.08.22
Как перерисовать значение по формуле из табл. в DBgrid ?


11-1079109894
Raki
2004-03-12 19:44
2004.08.22
PaintBox - bugs


4-1088894848
Spy.RU
2004-07-04 02:47
2004.08.22
Доступ к строке инициализации модема


10-1030551543
kavlad
2002-08-28 20:19
2004.08.22
CORBA-сервер, возвращающий файл.