Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   MySQLy Fecha (https://www.clubdelphi.com/foros/showthread.php?t=44582)

karlaoax 10-06-2007 02:42:13

MySQLy Fecha
 
Hola de nuevo, tengo una duda, como apenas estoy empezando a trabajar con MySQL, estoy haciendo pruebas para comparar una fecha de inicio y una Fecha de fin, he pobado directamente en MySQL y si me funciona esta sintaxis:

SELECT * FROM table
WHERE fechas
BETWEEN 'yyyy-mm-dd' and 'yyyy-mm-dd'
y funciona sin problemas.

Ahora cuandolo he implentado en mi Delphi con 2 DateTimePicker llamados Fecha_inicial(cmbinicio) y Fecha_Final(cmbfinal), el formato en este componente es: dd/mm/yyyy. he implementado lo siguiente para hacer la conversion de esta forma:
begin
ShortDateFormat := ('yyyy/mm/dd');
ShortDateFormat := ('yyyy-dd-mm'); // ya cheque y tampoco funciona

QueryFecha.close;
QueryBusca.SQL.text:='SELECT *FROM table WHERE fecha_inicial BETWEEN'+DateToStr(cmbinicio.Date)+' AND '+DateToStr(cmbfinal.Date)+'';
end;

El shortdate es para cambiar el formato que maneja MySQL, pero me sale este error:
You have error in your SQL syntax; check the manual that corresponds to your MySQL version for the right syntax to use near
='01/06/2007" AND "09/06/2007"
fecha_inicial fecha_final

Estoy implementando mal mi ShorDateFormat?

Gracias, Karla :rolleyes:

karlaoax 10-06-2007 04:07:51

Ok sigo haciendo pruebas, modifique mi codigo, ya no sale el error anterior, pero no me muestra mi consulta del cmbinicio y cmbfinal:

begin
ShortDateFormat := ('yyyy/dd/mm');

QueryFecha.close;
QueryFecha.SQL.text:='SELECT *FROM table WHERE fecha_inicial BETWEEN '+DateToStr(cmbinicio.Date)+' AND '+DateToStr(cmbfinal.Date)+'';
QueryFecha.Open;

Seguire haciendo pruebas. Karla :p

Ya se, mi codigo del boton esta ml,por que cuando enmy Query presiono Execute, todo Ok.
Sigo en pruebas tiempo de Monterrey,Mex 9:20

basti 10-06-2007 13:47:49

Prueba con parámetros, así te hará la conversión del formato de fechas de forma automática:
Código Delphi [-]
  queryFecha.SQL.Text := 'SELECT * FROM table WHERE fecha_inicial BETWEEN :FechaInicial AND :FechaFinal';

  queryFecha.ParamByName('FechaInicial').AsDateTime := cmbinicio.Date;
  queryFecha.ParamByName('FechaFinal').AsDateTime := cmbFinal.Date;

karlaoax 11-06-2007 16:09:37

Gracias Basti por las recomendacion, ya solucione el problema pasando mis valores como parametros, saludos.
Karla ;)


La franja horaria es GMT +2. Ahora son las 16:03:44.

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