Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Detectar Excepcion EconvertError

Buenas a todos, el problema es el siguiente:

Tengo:
Datasource->TQuery->DBgrid
->TupdateSQL
Osea el Tquery tiene un TupdateSQL asociado.

mi base de datos esta en MySQL y uso el ODBC para conectarme a ella.

el problema es el siguiente, cuando intento modificar un campo tipo Date en el DBgrid lo hace bien, siempre y cuando escriba la fecha en formato YYY-MM-DD, pero quiero evitar el mensaje de error que da Delphi si no se escribe la fecha en este formato, en error que me da es el siguiente:

Cita:
Raized exception class EconvertError with Message "2000" is not a valid Date
Ahora quiero utilizar el Try..Except para evitar ese mensaje y dar un mensaje personalizado a mi manera, pero no se en que evento ponerlo ni en cual componente.

un saludo, y gracias de antemano.
Responder Con Cita
  #2  
Antiguo 26-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Deja que el usuario modifique en el formato que quiera, pero al tiempo de pasarle las fechas al sql, formateas la fecha a YYYY/mm/dd con Formatdatetime.

O bien usa parámetros en las sql para que delphi convierta las fechas.

Supongo, que el try / except debe englobar al query.Open y/o cuando se ejecuta el UpdateSql; no puedo ser más explicito porque no he usado esos componentes.


Un saludo
Responder Con Cita
  #3  
Antiguo 27-03-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Lepe, lo de formatearla esta muy bien, ya lo habia hecho (gracias), el problema es que imaginate que el fromato sea DD/MM/YYY, y que en la parte del dia ponga el numero 45, no existe tal dia, entonces hay salta la excepcion esa.

Cita:
Supongo, que el try / except debe englobar al query.Open y/o cuando se ejecuta el UpdateSql; no puedo ser más explicito porque no he usado esos componentes.
El problema es que el UpdateSQL no tiene eventos, entonces no se en que parte es que debe estar.

Alguien sabe algo?

que piensas al respecto Lepe?
Responder Con Cita
  #4  
Antiguo 27-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por MasterXP
El problema es que el UpdateSQL no tiene eventos, entonces no se en que parte es que debe estar.

que piensas al respecto Lepe?
Que me está muy bien empleado, por meterme donde no me llaman

Suerte!
Responder Con Cita
  #5  
Antiguo 27-03-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
no hay problema amigo, gracias por responder, seguire intentando aqui haber si logro algo.

Gracias Lepe.
Responder Con Cita
  #6  
Antiguo 29-03-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Yo lo hago en el evento OnSetText del field y me va muy bien..
Responder Con Cita
  #7  
Antiguo 30-03-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Gracias Delfino, perfectamente.
lo hice de la siguiente manera:

Código Delphi [-]
procedure TDataModule1.QueryPagosFechaSetText(Sender: TField;
   const Text: string);
 begin
 Try
 Datamodule1.QueryPagosFecha.Value:=StrToDate(Text);
 Except
 ON E: EconvertError DO 
 end;
 end;

salu2.
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


La franja horaria es GMT +2. Ahora son las 08:40:24.


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