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 20-05-2008
Enriquelán Enriquelán is offline
Registrado
 
Registrado: ene 2008
Posts: 8
Poder: 0
Enriquelán Va por buen camino
Convertir fecha en un Where

Que tal?

Tengo un problema relacionado con las fechas...

Uso delphi 5 con MySql, y guardo las fechas como cadenas, no propiamente como fechas. El problemas me surgio al querer hacer un reporte de una fecha inicial a otra final, ya que al querer jalar la fecha guardada, viene en cadena y no la puedo comparar con la fecha de un DateTimePicker. Y si las comparo como cadenas, han de saber que "27/04/2008" no es mayor que "29/03/2008". Entonces me veo en la necesidad de compararlas forzosamente como fechas y no como cadenas.

Código Delphi [-]
Query.sql.text:='select * from viajes where Fecha>=datetostr("'+DateTimePicker.date+'")';
Query1.execSql;





Esta consulta, como le decia, no me devuelve los valores correctos, ya que algunas fechas del resultado realmente no son mayores a las del DateTimePicker.

Mi idea era hacer algo como:

Código Delphi [-]
Query.sql.text:='select * from viajes where strtodate(Fecha)>="'+DateTimePicker.date+'")';
Query1.execSql;





O sea, convertir en ese momento la fecha que estoy jalando, pero me salta un error.


Agradezco su atencion.
Responder Con Cita
  #2  
Antiguo 20-05-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Enriquelán, no te sería mas facil cambiar el tipo de dato a tu campo, la verdad no es normal que a una fecha le pongas como cadena, strtodate no te funcionara porque es una función de Delphi y no de Mysql.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 20-05-2008
Enriquelán Enriquelán is offline
Registrado
 
Registrado: ene 2008
Posts: 8
Poder: 0
Enriquelán Va por buen camino
Gracias, caro!

Lo que pasa es que ya tengo mucha informacion en ese campo. Al cambiarla, se pierde y tengo que volver a meterla manualmente. Ademas MySql solo ofrece un formato de fecha y no es con el que he venido trabajando, por lo cual tendria que cambiar todo. Y seguro tambien tendre que cambiar el formato de fecha en el panel de control de windows para que quede igual que el de mysql, verdad?

Muchas gracias por tu ayuda!
Responder Con Cita
  #4  
Antiguo 20-05-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Podrías utilizar parámetros y de esa forma no tendrías que hacer ninguna conversión:

Código Delphi [-]
with TuDataset do begin
 If active then close;
 SQL.Clear;
 SQL.Add('Select ...');
 SQL.Add('From...');
 SQL.Add('Where fecha < :Fecha');
 ParamByname('Fecha').AsDateTime := UnDTPicker.DateTime;
 Open;
end;


"ExecSQL" se utiliza solo para consultas de modificación (Insert, delete, update...), "Open" se utiliza para consultas normales "Select"
__________________

Responder Con Cita
  #5  
Antiguo 01-07-2008
sancarlos sancarlos is offline
Miembro
 
Registrado: sep 2007
Ubicación: Cartago , Tres Rios , Costa Rica
Posts: 48
Poder: 0
sancarlos Va por buen camino
Man para eso usa el Formatdatatime , sino nunca te saldra , te mando un ejemplo

dateforchancenow:=now; variable a pasar la fehca de tipo tdatetime
formatdatenow:=formatdatetime('mm-dd-yyyy',dateforchancenow); //Asignamos el formato a la Variable de la fecha a Utilizar de tipo string;

luego en where la pones a validar el formatdatenow .

EL formato puede ser difirente, eso depende de la base de datos a usar , puede ser ('dd/mm/yyyy') , es la mas comun.
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
convertir fecha en la senetencia sql.. uper SQL 2 01-02-2006 18:20:13
convertir una fecha electrica Oracle 3 07-12-2005 19:40:41
convertir formatos fecha davidgaldo Varios 4 09-11-2005 15:49:35
Convertir texto a fecha magm2000 SQL 2 11-10-2005 16:22:40
Convertir milisegundos a fecha andre Varios 5 07-07-2003 19:55:58


La franja horaria es GMT +2. Ahora son las 01:51:02.


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