FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Consulta por un campo date a un dbf
Hola amigos, gracias a ROMAN por tratar de ayudarme, pero hago lo que me dice: SELECT * FROM llamadas WHERE (fec_llam between "22/09/2003" and "25/09/2003") y me sale un error que tambien siempre me ha salido: "Type mismatch in expression" , no me lo explico, alguien ha tenido el mismo problema?
__________________
vaquero |
#2
|
|||
|
|||
Prueba con esto
[code] const sel = 'SELECT * FROM llamadas WHERE fec_llam between ''%s'' and ''%s'''; begin with query do begin close; sql.clear; sql.add(format(sel,['22/09/03','25/09/03'])); open; end; [\CODE] Y tambien estas seguro de que el campo fec_llam es de tipo Date o date time o smalldatetime o algo asi no? Un saludo |
#3
|
|||
|
|||
Hola:
El manejo de fechas a veces es complicado, incluso aqui donde trabajo para la misma BD es diferente segun la terminal donde estes. Bueno lo que te recomiendo es que permitas que Delphi te haga la conversion, por ejemplo tu consulta yo la armaria asi: select * from llamadas where fec_llam between :tdFechaInicial and :tdFechaFinal; Cuando la quieras abrir with qry do begin Close; ParamByName('tdFechaFinal') := StrToDate(valorcadena); ParamByName('tdFechaFinal') := StrToDate(valorCadena); Open; end; Por supuesto que al query le tienes que poner a los parametros que son de tipo Date; Con eso debe jalar Un saludo
__________________
Ernesto R. |
#4
|
|||
|
|||
Hola otra vez:
Pero cometi algunos errores en la consulta anterior ParamByName(tdFechaInicial).AsDateTime := StrToDate(ValorCadena); ParamByName(tdFechaFinal).AsDateTime := StrToDate(ValorCadena) a ver si te sirve
__________________
Ernesto R. |
|
|
|