Ver Mensaje Individual
  #6  
Antiguo 14-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Aquí tienes los códigos más interesantes de error y un ejemplo de como manipular el "KeyViol", yo lo que hago es definir un Procedimiento y le llamo desde cualquier postError de cualquier tabla para evitar la repetición del mismo código.
Código:
 const
   eKeyViol = 9729;
   eRequiredFieldMissing = 9732;
   eForeignKey = 9733;
   eDetailsExist = 9734;
   eSqlGralerror = 13059;
 implementation
 
 {$R *.DFM}
 
 procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;
   var Action: TDataAction);
 begin
   if (E is EDBEngineError) then
     if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
     begin
     Application.MessageBox('Imposible dar alta ese registro ya existe','Atención',mb_Ok +
     mb_IconQuestion);
     Abort;
   end;
 end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita