Ver Mensaje Individual
  #7  
Antiguo 14-12-2007
FelipeDiaz FelipeDiaz is offline
Miembro
 
Registrado: may 2007
Posts: 75
Reputación: 18
FelipeDiaz Va por buen camino
Eureka Ii

Lo logre de esta forma, no se que tan buena sea....

Aprovechando que E.IBMessage, si me da el mensaje especifico incluyendo el nombre d ela Constraint, mientras que E.SQLMessage, me da uno generico sin detalles. y ademas utilizando la funcion POS.


Código Delphi [-]
 
   try
      Datamodule1.CLIENTES.Post;
      CodBusCli:= Datamodule1.CLIENTESIDCLI.Value;
      Datamodule1.Database2.Commit;
  except
     on E:EFIBInterBaseError do
     begin
       datamodule1.Database2.Rollback;
       if (E.SQLCode =-803) then

          if Pos('PK_CLIENTES', E.IBMessage) <> 0 then
            showmessage('Intenta crear un codigo de Cliente que ya existe ')
          else
            if Pos('UNQ1_CLIENTES', E.IBMessage) <> 0 then
              showmessage('El Nombre de cliente que ya existe ')
            
            else
              if (E.SQLCode =-297) then
                  showmessage('El cupo asignado debe ser un valor mayor que cero');
      end;
  end;


-------------------------------------------------------------

Bueno, hasta aqui va solo resuelta la primera parte ......falta la segunda parte del mensaje original ?

(a proposito, como hago para colocar aqui un cuadro con flecha azul ">", para crear un vinculo al mensaje)?
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida!
Responder Con Cita