Ver Mensaje Individual
  #2  
Antiguo 21-10-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 17
rgstuamigo Va por buen camino
Arrow

Bueno segun veo, tu código tiene dos errores principales, el primero es que no has dejado un espacio despues de la clausula 'Between' y tambien debe haber un espacio antes y despues de el "And".
El segundo error es que MySQL guarda las fechas en éste formato > YYYY-MM-D , es decir : Año-Mes-Día , lo que significa que al utilizar la funcion DateToStr no le estas mandando el formato adecuado para la consulta.
Solucion: Para estos menesteres es bueno hacer uso de lo que se llama Parámetros que son una especie de variables alas que se les puede asignar valores y utilizarlas en la consulta SQL, mas o menos de éste forma:
Código Delphi [-]
  begin
    If Active Then Close;
        SQL.Clear;
        SQL.Add('Select Empleado, Departamento');
        SQL.Add('From Empleados');
        SQL.Add('Where FechaIngreso Between :F1 And :F2');{ Al poner los Dos puntos ( : ) Delphi crea 
                                                                                 los parámetros F1 y F2 Automáticamente}
        ParamByName('F1').AsDate:=FechaIni.Date;// asigno el valor de la fecha inicial al parámtro F1
        ParamByName('F2').AsDate:=FechaFin.Date; //asigno el valor de la fecha final al parámtro F2
        Open;
  end;
Nota:Como podrán observar el código anterior ,no me he preocupado por enviar la consulta con el formato adecuado tal como lo guarda MySQL, ésto se debe a que el propio DataSet que ejecuta la consulta ya sabe como hacerlo..
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 21-10-2010 a las 00:58:35.
Responder Con Cita