![]() |
Consulta en un campo tipo fecha
Hola!
Me estoy iniciando en el uso de SQL y necesito saber como puedo hacer una consulta con un campo tipo fecha por ejemplo se que cuando tengo un campo tipo numerico y haga lo siguiente usando tablas en paradoz 7 uso el siguiente codigo para hacer un filtrado: Query1.SQL.Add('Where Num_Client=' +Edit1.Text); Pero si en la etiqueta quiero introducir un campo tipo fecha me manda un error el codigo que pretendo poner es: Query1.SQL.Add(Where Fecha Like' + Edit1.Text); De antemano muchas gracias y espero sus repuestas |
Hola Saul!
Espero que te sirva ;). Saludos. |
Solo aclaro:
No creo que haya motor que soporte el uso del operador like contra fechas, puesto que no tendria sentido (al menos no para mi). Como ves, Nuria ha usado un operador de igualdad (=) que supongo será lo que buscabas. Hasta luego. ;) |
Si no quieres usar parámetros, (aunque deberías, ya que es más cómodo y elegante), puedes hacer esto otro, claro que debes dar 2 parametros fecha inicial y fecha final
Uniendo la técnica de Nuria con esta, te podría quedar algo así
Como sugerencia, te diría que para introducir fechas uses un TdateTimePicker o bien el que trae las RxLibs (es un control para bases de datos), así te quitarás los problemas de fechas incorrectas. El siguiente paso es verificar que tu motor de bases de datos recibe la fecha en el mismo formato de fechas que tu quieres dd/mm/yyyy o bien mm/dd/yyyy. La función FormatDateTime te puede ayudar, modificando los parámetros del SQL a .AsString para más comodidad. Espero te ayude. Saludos |
problemas delphi y datapiker
yo tengo este codigo quiero hacer una consulta de tal fecha a tal fecha pero tengo este codigo y no me sale nada marco las fechas y sale q no hay registro y si hay registros
adoQuery2.Close; adoQuery2.SQL.Clear; adoQuery2.SQL.Add('select * from viatico where fecha_ida Between '+ FormatDateTime('DDMMYYYY',DateTimePicker1.Date)+' And '+ FormatDateTime('DDMMYYYY',DateTimePicker2.Date)); adoQuery2.Open; if ADOQuery2.IsEmpty then begin ADOQuery2.Close; ADOQuery2.SQL.Clear; MessageBox(Handle, 'No hay entradas.', 'Warnning', Mb_Ok + MB_ICONHAND + Mb_DefButton1) end end; |
que base de datos usas?
|
prueba asi
|
Cita:
|
oh ya
el tema es que en access el tema de las fechas es complicadito tienes que usar el caracter # entre las fechas algo asi y en SqlServer como te dije en el post anterior |
Cita:
|
Simplifica la consulta usando parámetros con las fechas
Si no quieres problemas con ellas es la mejor solución, los componentes se encargan de realizar las transformaciones necesarias según el motor de bbdd.:cool: |
La franja horaria es GMT +2. Ahora son las 11:25:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi