Ver Mensaje Individual
  #3  
Antiguo 20-01-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cuando salte una excepción en ADO, verás que el mensaje que aparece te dice (normalmente) que es una excepción de la Clase EOLEException.
Una vez que sabes ésto puedes programar lo siguiente:

Código Delphi [-]

// Proteccion
try  
  ... 
  ...Post;
  ...
except
  on E:EOleException do begin
    // error
    MessageDlg(Format('Error: %s    Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
  end
  else begin
    ...tratamiento de otros errores
  end;
end;


Una vez que tengas esto y se produzca un error te saldrá el mensaje y el código; Si quieres afinar más, dentro el tratamiento de excepciones puedes hacer algo similar a ésto (a partir del código de error que te de):

Código Delphi [-]
except
  // NOTA: los códigos me los he inventado...
  on E:EOleException do begin
    // error
    if (E.ErrorCode = 111) then begin
      ...Error de clave primaria
    end
    else if  (E.ErrorCode = 222) then begin
      ...Error en la sentancia SQL
    end
    else if (....) then begin

    end;
  end
  else begin
    ...tratamiento de otros errores
  end;
end;


En este hilo de los foros puedes encontrar la lista de errores de ADO.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita