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-06-2003
TIKIMORE TIKIMORE is offline
Miembro
 
Registrado: may 2003
Ubicación: Albacete
Posts: 28
Poder: 0
TIKIMORE Va por buen camino
Error --->1005/20/03 no es fecha válida

Hola a tod@s.
Este es el erro que me da cuando ejecuto la siguiente instrucción SQL:

Padre.Query1.CLOSE;
Padre.Query1.sql.clear;
Padre.Query1.SQL.Add('SELECT * FROM Parturientas WHERE FECHA>=esde and FECHA<=:Hasta'+
' ORDER BY ORDER BY Parturientas.[Nº Hª]');
Padre.Query1.ParamByName('Desde').ASdate:=strtodate(DBEdit1.TEXT);
Padre.Query1.ParamByName('Hasta').ASdate:=strtodate(DBEdit2.TEXT);
Padre.Query1.PREPARE;
Padre.Query1.Active:=TRUE;

Donde Padre es el Form Padre y el query1 pertenece al padre.

La llamada la hago desde otro formulario donde hay dos DBEdit conectados a la tabla "Filtros Fechas" con campos de tipo fecha.

El problema esta en que la fecha es 10/05/2003 y me recoge 1005/20/03.

A qué se debe y como puedo solucionarlo?
Gracias de antemano.
Saludosssssssssssssss.
__________________
Saludos a tod@s y no os olvideis de ser felices.
Responder Con Cita
  #2  
Antiguo 20-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
No sé por qué razón te toma esa fecha, salvo que en el DBEdit no esté bien escrito. Ya que se trata de un control DBAware, ¿has probado de hacer, en vez de StrToDate(DBEdit1.Text), esto otro DBEdit1.Field.AsDate? Mira a ver si te devuelve la misma fecha que antes.

Sea como sea, habría que averiguar por qué te devuelve 1005/20/03 en vez de 05/20/2003, parece indicar que toma el año del primer valor, ¿has revisado que las variables DataSeparator y ShortDateFormat sean las correctas?

Son algunas ideas, a ver si es eso.
__________________
Guía de Estilo
Responder Con Cita
  #3  
Antiguo 20-06-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
dos cosillas

podria ser por cuestion de formato o porque no sea correcto el separador de fechas "/" y espere un "-". Prueba lo que te comenta andres1569 de acceder al Field directamente. Si no te funcionara, podrias mirar de hacer algo como esto

Padre.Query1.ParamByName('Desde').AsString := FormatDateTime('dd-mm-yyyy', DBEdit1.Field.AsDate);

Eso si, deberias emplear el formato de fecha que necesitas (en IB/FB es 'mm-dd-yyyy', pero en otros sistemas como DB2 es 'yyyy-mm-dd')

La segunda cosilla es que en el SQL en lugar de poner "campo >= fechaIni and campo <= fechaFin" puedes poner "campo between fechaIni and fechaFin"

Espero te sirva
Responder Con Cita
  #4  
Antiguo 20-06-2003
TIKIMORE TIKIMORE is offline
Miembro
 
Registrado: may 2003
Ubicación: Albacete
Posts: 28
Poder: 0
TIKIMORE Va por buen camino
Hola.

Bueno, ya he logrado solucionarlo a base de hacer pruebas.
Me parece que el error estaba en la mascara de entrada que tenía en propiedades del campo del Query.

La solución la he encontrado con:

Padre.Query1.ParamByName('Desde').AsString:=DBEdit1.text;
Padre.Query1.ParamByName('Hasta').AsString:=DBEdit2.text;

No crei que funcionaría porque tanto en la base de datos como en las propiedades de campo el tipo de dato es Date pero he ahí que me ha dejado.
No me pregunten el por qué.
¿Puede ser por la máscara de entrada en las propiedades del campo? No lo sé.

Saludosssssssssssss.
__________________
Saludos a tod@s y no os olvideis de ser felices.
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 20:53:28.


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