Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   filtrar rango de fechas con dos DateTimePicker (https://www.clubdelphi.com/foros/showthread.php?t=93223)

the walrus 22-06-2018 00:27:56

Cita:

Empezado por Casimiro Notevi (Mensaje 527256)
¿Pero eso es un copia-pega del código?
Código Delphi [-]
query.query.parambyname('FECHA_INI').AsDate := DateTimePicker1.date;
query.parambyname('FECHA_FIN').AsDate := DateTimePicker2.date;

ya te dije que si, pero cuando busco la fecha deseada los cambios no se aplican

Casimiro Notevi 22-06-2018 17:27:44

Cita:

Empezado por the walrus (Mensaje 527258)
ya te dije que si, pero cuando busco la fecha deseada los cambios no se aplican

¿Pero no ves ahí algo raro?

Código Delphi [-]
query.query.parambyname('FECHA_INI').AsDate := DateTimePicker1.date;
query.parambyname('FECHA_FIN').AsDate := DateTimePicker2.date;

the walrus 22-06-2018 20:23:18

si, el query esta dos veces me equivoque y lo puse dos veces pero en mi codigo esta solo una vez

the walrus 22-06-2018 21:06:25

Cita:

Empezado por Casimiro Notevi (Mensaje 527269)
¿Pero no ves ahí algo raro?

Código Delphi [-]
query.query.parambyname('FECHA_INI').AsDate := DateTimePicker1.date;
query.parambyname('FECHA_FIN').AsDate := DateTimePicker2.date;

tendra que ver el tipo de fecha que uso en mi base de datos, lo tengo como tipo date

ecfisa 22-06-2018 21:10:25

Hola.

No sé por que evitas copiar/pegar tu código, de haberlo echo nos hubieramos ahorrado mucho tiempo.

Otro error que veo y te marco en rojo subrayado es:
Código Delphi [-]
Query1.SQL.Text:= 'Select * from compañia1 where compañia.fechadevencimiento BETWEEN :Fecha1  AND :Fecha2';
Tratándose de una sola tabla no es necesario calificar el nombre de columna, pero si te decides a usarlo, usa el mismo nombre de la tabla.

Salvado el error que te indico Casimiro y el anterior, tendría que funcionar de este modo:
Código Delphi [-]
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add('SELECT * FROM COMPANIA');
  Query.SQL.Add('WHERE FECHADEVENCIMIENTO BETWEEN :FECHA_INI AND :FECHA_FIN');
  Query.ParamByName('FECHA_INI').AsDate := DateTimePicker1.Date;
  Query.ParamByName('FECHA_FIN').AsDate := DateTimePicker2.Date;
  Query.Open;
Pero... fijate que usé "COMPANIA" y no "COMPAÑIA" ya que algunas BD pueden protestar por el uso de la "Ñ".

Saludos :)

the walrus 22-06-2018 22:26:36

Cita:

Empezado por ecfisa (Mensaje 527280)
Hola.

No sé por que evitas copiar/pegar tu código, de haberlo echo nos hubieramos ahorrado mucho tiempo.

Otro error que veo y te marco en rojo subrayado es:
Código Delphi [-]
Query1.SQL.Text:= 'Select * from compañia1 where compañia.fechadevencimiento BETWEEN :Fecha1  AND :Fecha2';
Tratándose de una sola tabla no es necesario calificar el nombre de columna, pero si te decides a usarlo, usa el mismo nombre de la tabla.

Salvado el error que te indico Casimiro y el anterior, tendría que funcionar de este modo:
Código Delphi [-]
  Query.Close;
  Query.SQL.Clear;
  Query.SQL.Add('SELECT * FROM COMPANIA');
  Query.SQL.Add('WHERE FECHADEVENCIMIENTO BETWEEN :FECHA_INI AND :FECHA_FIN');
  Query.ParamByName('FECHA_INI').AsDate := DateTimePicker1.Date;
  Query.ParamByName('FECHA_FIN').AsDate := DateTimePicker2.Date;
  Query.Open;
Pero... fijate que usé "COMPANIA" y no "COMPAÑIA" ya que algunas BD pueden protestar por el uso de la "Ñ".

Saludos :)

si, pero el error no pasa por ahí de otra forma me daria un error por escribir con la letra ñ

Casimiro Notevi 23-06-2018 00:50:45

Cita:

Empezado por the walrus (Mensaje 527282)
si, pero el error no pasa por ahí de otra forma me daria un error por escribir con la letra ñ

Depende...

the walrus 23-06-2018 01:38:32

me parece que el error es la consulta que le estoy pasando como parámetro mi consulta es esta

SELECT * FROM compañia1 WHERE MONTH(fechavenciomento) = 4 AND YEAR(fechavencimiento) = 2018

como hago para agregar las fechas del datetimepicker

Casimiro Notevi 23-06-2018 10:38:53

Repasa todas las respuetas que te han dado desde el principio :confused::confused::confused:

ecfisa 24-06-2018 01:31:17

Hola.
Cita:

Empezado por the walrus (Mensaje 527285)
me parece que el error es la consulta que le estoy pasando como parámetro mi consulta es esta

SELECT * FROM compañia1 WHERE MONTH(fechavenciomento) = 4 AND YEAR(fechavencimiento) = 2018

como hago para agregar las fechas del datetimepicker

En serio que no termino de entender...

Según la consulta que publicas en este último mensaje ¿ Cuales deberían ser los parámetros a enviar ?
¿ Sería fechavencimiento ? ¿ O se trataría de dos parámetros que irían en lugar de las constantes 4 y 2018 ?

Saludos :)


La franja horaria es GMT +2. Ahora son las 10:42:14.

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