Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-10-2003
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Ayuda con consulta

Que tal comunidad!, la pregunta es la siguiente, estoy poniendo la siguiente sentencia en el parametro Query de un componente query

select * from m_inoutline where to_char(updated,'DD/MM/YY') =:xFecha

xFecha es una variable que se asigna del siguiente modo...

xFecha := DateToStr(DTFecha.Date);

si hago esta consulta en la consola de oracle si me despliega los registros, que estará mal???

cabe señalar que DTFecha es un componente DateTimePicker...

agradeceré sus respuestas...
Responder Con Cita
  #2  
Antiguo 20-10-2003
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Perdon se me olvido comentar que en el grid al que esta asignado este set de datos no me despliega nada...
Responder Con Cita
  #3  
Antiguo 20-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pureba a asignarlo así, puesto que todo parece apuntar a un formato incorrecto de conversión de la fecha.

xFecha := FormatDatetime('dd/mm/yyyy',DTFecha.Date);

Un Saludo
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 21-10-2003
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Gracias por tu respuesta, en efecto con FormatDateTime, puedo obtener el formato 'dd/mm/yyyy' pero sigue sin filtrarme los registros, por el debugger todo esta bien, obtengo el formato de acuerdo lo requerido pero algo pasa que no me filtra la información, presiento que no es la senetencia, lo chistoso es que pongo directa la fecha en la sentencia sql con el formato mencionado y si me lo hace, me suena a cuestion de parametros, cabe señalar que xFecha esta como definida de la siguiente manera

var
xFecha: string

esto despues de la sección de implementation

xFecha en las propiedades de params en el componente query la
puse del tipo ftString...que estará mal???
Responder Con Cita
  #5  
Antiguo 21-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Prueba a mostrar antes el SQL construido con ShowMessage(MiConsulta.Text);

De esta manera ves como te construye el SQL que funciona y luego pruebas con el resto de sentencias y vistas las diferentecias creo que podrás arreglarlo sin mucho problema.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 21-10-2003
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
ok marcos ya hice lo que me pediste y en efecto cuando despliego la consulta armada, me despliega un signo de interrogación en los parametros. No se a que se deba...pareciera que se trunca el valor a la hora de armar la consulta...

creo yo que esto confirma la teoría de que hay algo mal en los parametros....

te doy mas información...

los parametros estan declarados como variables...

en params al tipo de dato de le estoy poniento ftString...

que estará pasando???
Responder Con Cita
  #7  
Antiguo 21-10-2003
JorgeBec JorgeBec is offline
Miembro
 
Registrado: jul 2003
Posts: 159
Poder: 21
JorgeBec Va por buen camino
Ok, ya quedo lo que pasa es que a los parametros no deben ser variables, hay que pasarle los valores de la siguiente forma...


qryVisualizar.Params[0].AsString := FormatDatetime('dd/mm/yyyy',DTFecha.Date);


te agradezco tus atenciones marcos, gracias...
Responder Con Cita
  #8  
Antiguo 21-10-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Creoq eu el problema parte porque estas tratando de comparar dos cadenas de caracteres, cuando bien podes pedirle a oracle que compare dos fechas... no?

algo como:

Código:
select * from m_inoutline where updated =:xFecha
donde xfecha será del tipo tDateTime

y luego haras algo como:

Código:
miconsulta.ParamByName['xFecha'].AsDateTime := Date;
De esa forma te evitas toda la complejidad de convertir la fecha a una cadena que sea compatible con la cadena que generará el servidor, a partir de otra fecha.

Hasta luego

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:31:34.


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
Copyright 1996-2007 Club Delphi