Ver Mensaje Individual
  #3  
Antiguo 16-09-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Reputación: 24
ContraVeneno Va por buen camino
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 EDBEngineError) then 
      with EDBEngineError(E).Errors[0] do 
         if ErrorCode = 9729 then 
          MessageBox(frmInicial.Handle,'Llave duplicada.','Error',MB_ICONERROR);
end; //Fin try

algo que hice alguna vez fue:
Código Delphi [-]
try
 //instrucción insert
except on E:Exception do 
  if (E is EDBEngineError) then
   with EDBEngineError(E).Errors[0] do 
    if ErrorCode = 9729 then
      //instrucción update
end;//Fin try

y me gustaría su opinión al respecto, es decir, tratar de insertar la información, y si hay una violación de llave, entonces actualizar la información, ¿es correcto?, ¿válido?, ¿óptimo?
__________________


Última edición por ContraVeneno fecha: 16-09-2005 a las 01:02:17.
Responder Con Cita