Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Consulta por fecha en MySQL y Delphi (https://www.clubdelphi.com/foros/showthread.php?t=49235)

rodrigodeoz 16-10-2007 20:26:45

Consulta por fecha en MySQL y Delphi
 
deseo hacer una culta de busqueda por fecha, mi base de datos esta en MySQL,
La busque la pongo en un MonthCalendar
asi esta mi busqueda:
Código Delphi [-]
with dm.queryx do
    begin
      close;
      sql.clear;
      sql.add('select * from clientes where fecha=:fecha');
      parambyname('fecha').asdate:=calendario.date;
      open;
    end;

pero me marca un error:
Project autos.exe raidsed exception class EVariantTypeCasError with message 'Could not convert variant of type (Null) into type (Double)'. Process stopped. Use Step or Run to Continue.

bueno espero me puedan ayudar para realizar la busqueda por fecha.

Caral 16-10-2007 22:20:53

Hola
Definitivamente hay muchas maneras de hacer las cosas, a mi me gusta asi:
Código Delphi [-]
with dm.queryx do
    begin
      sql.Text 'select * from clientes where fecha ='+DateToStr(calendario.date);
     open;
    end;
No me gusta el add, hay que poner mas cosigo, para que?, bueno es apreciacion.
Con lo tuyo seria asi:
Código Delphi [-]
with dm.queryx do
    begin
      close;
      sql.clear;
      sql.add('select * from clientes where fecha = :fecha');
      parambyname('fecha').asdate:= DateToStr(calendario.date);
      open;
    end;
Si no te fuciona con AsDate, usa AsString, ya estaria convertido.
Bueno, ya diras como te fue.
Saludos

karlaoax 17-10-2007 16:47:39

Te paso la ayuda que me proporciono Basti en una ocasion, funciona al 100% y te permite buscar con un DatetimePicker de una fecha inicial a una final:

Yo utlizo MySQL + MyDAC

Código Delphi [-]
QUERY:

SELECT *FROM tabla
WHERE fecha_inicio
BETWEEN :fecha_inicio AND :fecha_fin

BOTON:

QueryFecha.close;
queryFecha.SQL.Text := 'SELECT * FROM tabla WHERE fecha_inicio BETWEEN :Fecha_inicio AND :Fecha_fin';
queryFecha.ParamByName('Fecha_inicio').AsDateTime := Fehcinicio.Date;
queryFecha.ParamByName('Fecha_fin').AsDateTime := FechFinal.Date;
QueryFecha.Open;

Espero te sirva.
Atte.
Karla :p


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

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