PDA

Ver la Versión Completa : Consulta por fecha en MySQL y Delphi


rodrigodeoz
16-10-2007, 20:26:45
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:

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:

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:

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


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