Pour aider ceux qui seraient amenes a faire la meme chose voici ce que j ai pu trouve apres moult tests, recherches dans la doc oracle etc...
Sous oracle dans sa proc stockee ou trigger il faut mettre un bloc standard du style "raise" et dans le bloc pour le handle des exceptions il faut utiliser "raise_application_error".
Sous delphi, il faut utiliser des elements un peu plus specifiques des exceptions.
Par exemple :
Pour Oracle
Code :
- BEGIN
- IF condition THEN
- RAISE myerror;
- END IF;
- EXCEPTION
- WHEN myerror THEN
- RAISE_APPLICATION(-20000,'test descriptif'); -- <= -20000 etant une valeur decidee de facon arbitraire (il existe une plage bien precise)
- END;
|
Pour Delphi
Code :
- Try
- ...
- Except
- on E : Exception Do
- Begin
- if E is EDBEngineError Then
- begin
- for i:= 0 to EDBEngineError( E).ErrorCount - 1 Do
- begin
- // ivaleur recupere le numero de l exception cad 20000
- ivaleur := EDBEngineError( E).Errors[i].NativeError;
- end;
- end;
- end;
- end;
|
Voila ca m a bien pris la tete, en esperant que ca en aidera certains 
Message édité par mkracing66 le 02-10-2003 à 11:16:19