Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Buscar por fecha.....ayuda!!! (https://www.clubdelphi.com/foros/showthread.php?t=13383)

ronimaxh 17-08-2004 15:18:05

Buscar por fecha.....ayuda!!!
 
Hola amigos del club, quiero hacer una busqueda por fechas, uso interbase 6.5 el formato de la fecha está guardado asi 01.08.2004, ahora bien si utilizo una componente de fecha rxdatetimer(creo que es asi que se escribe), tengo aqui un problemita, como les cambio el '/' por el punto. oh como lo hacen ustedes desde ya gracias....

gzerox 17-08-2004 15:27:59

Hice algunas consultas en interbase y utilize tanto el punto (.) como el slash (/) y me devuelve los mismos resultados...;) , sin embargo creo que interbase guarda la fecha con el siguiente formato Mes/Dia/Año, por lo tanto en la consulta sql el criterio de busqueda debe ser igual...

jachguate 17-08-2004 17:33:37

Interbase, al igual que la mayoría de bases de datos, almacenan las fechas en un formato interno (numérico), que nada tiene que ver con la representación textual de la fecha.

Si estas haciendo consultas desde algún cliente tipo IB-Expert, entiendo que lo mas conveniente es enviar la fecha en formato yyyy-mm-dd, aunque puede variar entre clientes.

Si estas haciendo la consulta desde delphi, es preferible el uso de parámetros, del tipo:

Código SQL [-]
Select *
  from tabla
 where fecha >= :fecha_ini

Declarar ese parámetro como ftDateTime y luego hacer la sustitución programáticamente asi:

Código Delphi [-]
  query1.ParamByName('fecha_ini').AsDateTime := DateTimePicker1.DateTime;

De esa manera, con cualquier base de datos, relegas a los componentes de conexión la "negogiación" de los formatos de fecha a usar internamente, que regularmente serán numéricos también.

Hasta luego.

;)

ronimaxh 17-08-2004 18:51:09

Gracias por contestar, yo uso ibexpert; hice una consulta en el mismo manejador usando los parametros '01/08/2004' y da error de conversion ahora bien cuando la escribo asi '01.08.2004' funciona bien.

Nota: desde delphi me interesa consultar por rango de fechas y usos esos componentes de fechas pero me da error de conversion. y en la forma como interbase guarda la fecha dd.mm.aaaa en mi pc.

jachguate 17-08-2004 19:33:00

¿has leido mi mensaje?

Parece que no lo hubieras hecho, o yo no me he sabido explicar... :confused:

Cita:

Empezado por jachguate
Interbase, al igual que la mayoría de bases de datos, almacenan las fechas en un formato interno (numérico), que nada tiene que ver con la representación textual de la fecha.

Cita:

Empezado por ronimaxh
y en la forma como interbase guarda la fecha dd.mm.aaaa en mi pc.

¿:confused:?

Cita:

Empezado por jachguate
Si estas haciendo la consulta desde delphi, es preferible el uso de parámetros

Cita:

Empezado por ronimaxh
desde delphi me interesa consultar por rango de fechas y usos esos componentes de fechas pero me da error de conversion

:confused:

kalimero 18-08-2004 13:07:25

Me gustaria Ayudar pero sinceramente no entiendo nada de la pregunta.
¿Como se va a esforzar la gente en contestar a las preguntas si el que la hace no procura que esta tenga un minimo de "entendibilidad" (vaya pa que nos entendamos)

Saludos

ronimaxh 18-08-2004 14:38:29

Gracias amigos por contestar; disculpen mi ignorancia, ya he resueldo el problema gracias a jachguate (hice lo que me dijiste use parametros y salio todo bien) y a todos.


La franja horaria es GMT +2. Ahora son las 21:48:20.

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