Ver Mensaje Individual
  #24  
Antiguo 26-05-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Eres un ejemplo de forista paciente y decidido. Te dejas ayudar muy bien, eso da gusto.

Cita:
Empezado por RedVenom Ver Mensaje
[...] ya solo me faltaria que solo apareciera dependiendo del mensaje de error recibido.
Sabes, los objetos EDatabaseError no contienen información adicional que te permita discernir el tipo de error que ocurrió, de hecho la clase EDatabaseError es prácticamente igual que Exception (al menos hasta Delphi 7). Miré el código del método virtual TCustomADODataSet.InternalPost (ADODB.pas) y descubro que la excepción arrojada por ADO es sustituida por un simple EDatabaseError. Ignoro si la excepción original u otro tipo de información puede ser consultada mediante otros caminos (como la interfaz ADODataSet1.Recordset o el objeto TADOConnection), pero es a través del propio mensaje de texto (analizando su contenido) como podrás averiguar el tipo de error ocurrido.

De hecho así lo tuve que hacer hace tiempo con dbExpress y Firebird, porque desafortunadamente en las excepciones no venían incluidos los códigos de error nativos del motor.
Responder Con Cita