FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
hacer consultas buscando por fecha
hola buenos dias,tengo un problemilla...para hacer una consulta desde dedelphi buscando por el campo de la fecha, que en interbase es de tipo date, con string en delphi no me lo reconoce, que tipo de dato he de utilizaar?? o como podria hacerlo de otra manera??? gracias
|
#2
|
|||
|
|||
es problema del formato de fechas. Seguramente estás pasando un formato dd/mm/yyyy cuando le deberías de pasar el formato mm/dd/yyyy
Mírate la función FormatDateTime en la ayuda, que es fácil de manejar y te solucionará el problema |
#3
|
|||
|
|||
el caso es que cuando lanzo la consulta desde interbase buscando una fecha, que se que existe y pongo exactamente lo mismo q esta guardado, y que asi me lo coge, tpc me saca el resultado ded la consulta, yo creo q es alguna incompatibilidad de tipos de datos string y date, pero no se lo que tengo que hacer... en visual se que para buscar por fecha habia q poner una almohadilla... no hay otra manera parecida aqui???
el formatdatetime creo q no me sirve, porque el mes dia y año estan ordenados exactamente igual en la consulta y en la base... |
#4
|
|||
|
|||
Bueno, las fechas han de ir entrecomilladas
Si pones algo de código o la sentencia SQL quizás te podamos ayudar más |
#5
|
|||
|
|||
es esto:
ds_lecturas.close; ds_lecturas.selectSQL.Text:='select * from lecturas where numero=' + quotedstr(num) + ' and fecha=' + quotedstr(fecha); ds_lecturas.Open; ds_lecturas.Delete; dtrans.Commit; en el delete me da fallo porque dicee que el dataset esta vacio, ya lo he comprobado, y lo que busco existe en la base de datos...y num y fecha tienen los datos correctos, gracias! |
#6
|
|||
|
|||
quizás fecha no está en el formato correcto (es decir mm/dd/yyyy) y por eso no encuentra registros
De todas maneras, creo que es complicarse algo la cosa hacer un select para luego hacer un delete. Podrías hacer directamente un SQL de Delete en un Query (TQuery, TIBQuery, ...... según los componentes que uses)
|
#7
|
||||
|
||||
Hola.
Un par de consideraciones, ¿ Numero es numérico ? en este caso no hay que poner delimitadores, y el FormatDateTime lo tienes que poner obligatoriamente, puesto que sinó te cogerá el formato del sistema, el cual puede ser distinto en cada ordenador. Es decir : Código:
MiQuery.SQL.Text := 'delete from lecturas where numero=' + IntToStr(num) + ' and fecha = ' + QuotedStr(FormatDateTime('mm/dd/yyyy', fecha)); MiQuery.ExecSQL; Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 07-06-2004 a las 13:37:59. |
#8
|
|||
|
|||
Cita:
Cita:
Cita:
Ala, a pasar un buen día |
#9
|
||||
|
||||
Si tienes razón.
Es una chapuza. No debería trabajar con fechas en cadenas, solo le van a traer problemas por el formato. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#10
|
|||
|
|||
bueno voy a probar, respecto a los metodos que utilizo, ya se que son muy rudimentarios, pero es el primer programa que hago de deelphi y nunca he dado clases ni tengo manuales ni nada...asi que me las apaño como puedo...
|
#11
|
|||
|
|||
bueno, ya me salio muchas grgacias, al final si que hacia falta el formatdatetime, esque segun vi en el ejemplo de la ayuda, pense que no me serviria... bueno, muchas gracias
|
|
|
|