FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Consulta con SQL por fecha
Buenas compañeros,
uso tablas paradox y deseo hacer una consulta con tquery sobre unas tablas. En la consulta quiero filtrar el resultado por una fecha que la quiero coger de un TDateTimePicker. ¿Cómo puedo hacerlo en tiempo de ejecución? puesto que no me deja coger directamente en la query el valor del DateTimePicker1.Date. yo pensaba hacerlo así Cita:
Muchas gracias P.D. Si alguien me puede decir que función tengo que usar en el Select para poder sacar de la fecha de nacimiento la edad, directamente, se lo agradecería :-) |
#2
|
||||
|
||||
Buenas!
Lo que tienes que poner en la select es un parámetro: select * from table where fecha = aram y después en el código le pasas el parámetro antes de ejecutrar la select: (el ejemplo está preparado para componentes ADO) Query.parameters.paramByName('param').Value := DateTimePicker1.date; Query.open; Un saludo Edu |
#3
|
|||
|
|||
¿pero el parámetro tengo que crearlo antes, da igual el nombre que ponga?
|
#4
|
||||
|
||||
Ha salido la carita esa y puede que no se entienda bien, así que lo pongo de nuevo:
En un SQL se puede poner los dos puntos y despues cualquier nombre, esto se interpreta como un parámetro, y como bien dice epuigdef hay que pasarle el parámetro antes de abrir la consulta:
SALUDOS
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Cita:
¿tengo que añadirlo antes a algún sitio? por que esto otro:
lo pongo en el evento onchange del DateTimePicker1. Muchas gracias |
#6
|
||||
|
||||
Hola
Yo tambien estoy empezando con esto de los parametros, me funciono bien hasta ahora. tal vez lo que te falte es ponerle tipos a tus parametros. Esto se lo coloca en la propiedad parameters, seleccionas el parametro que añadiste y en sus propiedades indicar lo siguiente: Datype->ftDate Value->Type->Date Supongo que el primero es el tipo de dato de tu base de datos, y el segundo el tipo del parametro que le pasaras. En resumen: 1. Colocas tu sentencia sql como te indicaron 2. Defines el tipo de tu parametro 3. llamas con parambyname como te indicaron Lo hice funcionar con BDE, ahora con ADO, me funciono perfectamente Que todos tengan un Buen Dia |
#7
|
||||
|
||||
Cita:
Se añade el Sql, y despues si accedes a la propiedad query.Params, verás que estan creados ya (delphi se encarga de analizar el SQL y crear los parámetros. Yo en algunos casos ni siquiera le indico el Datatype ni VAlue --> Type, porque en ejecución uso: Por tanto, ya sabe de que tipo son los parámetros. Por cierto, deberás cerrar la consulta al cambiar el parámetro:
Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#8
|
|||
|
|||
No me da error al hacer lo que me habeis dicho, pero no me coge ningún registro de la tabla, cómo si no existieran... y en esa fecha hay datos
|
|
|
|