Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2007
Avatar de Alcolea
Alcolea Alcolea is offline
Miembro
 
Registrado: abr 2006
Ubicación: Santiago de Cuba, Cuba
Posts: 100
Poder: 19
Alcolea Va por buen camino
Question Mensajes de error de la BD en Español

Hola a todos, quiero "capturar" los posibles mensajes de error de una BD y traducirlos al Español. Hasta ahora me resulta solo cuando el error tiene este mensaje 'Key violation.'. El código que uso en el evento PostError del componente Table1 es este...

Código Delphi [-]
 procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
 
 if E.Message = 'Key violation.' then
 begin
  Application.MessageBox(.........);
  Action := daAbort
 end;
 
end;

... otra alternativa sería ...

Código Delphi [-]
 procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
 
 if E.Message <> ' ' then
 begin
  Application.MessageBox(.........);
  Action := daAbort
 end;
 
end;

... pero no le daría al usuario la explicación exacta de cada posible error en la entrada de datos.
Responder Con Cita
  #2  
Antiguo 13-06-2007
loxod loxod is offline
Miembro
 
Registrado: feb 2007
Ubicación: Mexico
Posts: 45
Poder: 0
loxod Va por buen camino
pudiera usar algo como lo siguiente:

Código Delphi [-]
procedure TForm1.AppExcept(Sender : TObject; E : Exception);
begin
// Valida que la BD no marque error de tipos
   if  (Pos('DUPLICATE ENTRY',UpperCase(e.Message)) > 0) then
     begin

     end else
   if Pos('IS NOT A VALID FLOATING POINT',UpperCase(e.Message)) > 0 then
     MessageDlg('El tipo de Datos es Invalido.' + #13 + #10 +
     'Verifiquelo por Favor', mtWarning, [mbOK], 0)
   else
   if Pos('IVA',UpperCase(e.Message)) > 0 then
     MessageDlg('El I.V.A. esta fuera del rango (0-50).' + #13 + #10 +
     'Verifiquelo por Favor', mtWarning, [mbOK], 0)
     else
   if Pos(QuotedStr('ENTREGADO') + ' MUST HAVE A VALUE',UpperCase(e.Message)) > 0 then
     MessageDlg('El campo de Entregado debe tener un Valor' + #13 + #10 +
     'Verifiquelo por Favor', mtWarning, [mbOK], 0)
      else
       begin
           MessageDlg('Ha Ocurrido un Error en el Sistema.' + #13 + #10 +
                      'Intente de Nuevo la Operacion', mtWarning, [mbOK], 0);
       end;
end;

y en el oncreate de la forma

Código Delphi [-]

procedure TForm1.FormCreate(Sender: TObject);
begin
    Application.OnException := AppExcept;
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mensajes en Español para mi BD Alcolea Tablas planas 4 28-09-2006 22:49:12
Mensajes de Interbase en Español seara2005 Firebird e Interbase 3 16-05-2006 15:55:36
Titulo de los mensajes en español carlosegs Varios 5 25-04-2005 15:35:46
Mensajes en español?? samame Varios 2 21-02-2005 21:11:04
Mensajes y ayuda en español carieet Varios 1 13-06-2003 15:27:49


La franja horaria es GMT +2. Ahora son las 08:34:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi