Ver Mensaje Individual
  #10  
Antiguo 21-06-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Reputación: 23
ContraVeneno Va por buen camino
Antes que nada, gracias por tu tiempo Roman....
Busque en globals y efectivamente, ahi viene listado ESDMssError, pero no me muestra niguna referencia como si lo hace con todos los componentes normales de delphi, incluso aparece EDBEngineError y me muestra su referencia a DBTables. Incluso encontre que junto a EDBEngineError esta ESDEngineError de donde se desprende ESDMssError.

Lo que sucede es porque estoy utilizando unos componentes de la paleta SQLDirect (Son los que utilizaban cuando empezé a trabajar en esta empresa y no se como los obtuvieron.) que de ahi es de donde vienen las letras SD.
Buscando la información de esta paleta me encontre con la solución; que era tan simple que me sorpendí. Tenía que agregar la unidad 'SDEngine' y el código queda así:
Código Delphi [-]
try
 ExecSQL; //Instrucción insert
{Tambien podría ser E:ESDEngineError o E:ESDMssError 
dependiendo del rango de errores que se quieran capturar}
except on E:Exception do 
 if (E is ESDEngineError) then
  with ESDEngineError(E) do
   if ErrorCode = 2601 then
    MessageBox(frmInicial.Handle,'Llave duplicada.','Error',MB_ICONERROR);
end; //Fin try

Gracias Roman por la referencia.

Saludos
__________________


Última edición por ContraVeneno fecha: 21-06-2005 a las 17:07:53. Razón: Solucionado
Responder Con Cita