Ver Mensaje Individual
  #8  
Antiguo 16-03-2005
lroblesco lroblesco is offline
Miembro
 
Registrado: ene 2005
Ubicación: Baja California Sur, Mexico
Posts: 77
Reputación: 20
lroblesco Va por buen camino
Key volation

Saludos
tengo un problemilla cuando se repiten las claves,
Cita:
Empezado por marcoszorrilla
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.
Saben pongo el codigo como este, y me salta la excepcion, y en el debugger option escojo que no se detenga en las excepciones. Me sale un error mas o menos asi "Los cambios solicitados en la tabla.......' que puedo hecer? manejo una BD Access 2000 gracias
__________________
No siempre el mas veloz es el que gana la carrera
Responder Con Cita