Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2008
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question ayuda con query para Mysql fecha.

Estoy haciendo una busqueda atravez de fecha uso 2 campos fecha
cuando las fecha son iguales busca la fecha que coincida con esa fecha cuando no busca por rago de fecha
mas sin embargo no esta haciendo nada de lo que le pido

1er inconsistencia es: cuando marco dos fecha de difereste mes teniendo en cuenta que la primera es menor que la segunda la busqueda no me entrega registros y se que hay registros en esa fecha. vea la image Aqui

2do inconsistencia es: marco dos fecha dentro del mismo mes que se que hay datos, me muestra los datos mas sin embargo me muestra datos que no esta dentro de la busqueda. Vea la Imagen Aqui

3er inconsistencia es: busco una fecha determinada y ambos componentes les pogo la misma fecha que se que si existe y no me devuelve nada la busqueda. Vea la Imagen Aqui.


Les agrego el codigo esperando que me puedan ayudar.

Código Delphi [-]
 if Form1.MyQuery1.Active then
 begin
   form1.MyQuery1.Close;
   form1.MyQuery1.SQL.Clear;
 end;

  with form1 do
  begin
          MyQuery1.SQL.Add('SELECT');
          MyQuery1.SQL.Add('servicios.`status`,');
          MyQuery1.SQL.Add('servicios.id_ser,');
          MyQuery1.SQL.Add('servicios.f_recep,');
          MyQuery1.SQL.Add('servicios.f_ini,');
          MyQuery1.SQL.Add('servicios.nombre,');
          MyQuery1.SQL.Add('servicios.ofi_dir,');
          MyQuery1.SQL.Add('servicios.f_ter,');
          MyQuery1.SQL.Add('servicios.ob_sol,');
          MyQuery1.SQL.Add('servicios.m_correc,');
          MyQuery1.SQL.Add('servicios.m_prev,');
          MyQuery1.SQL.Add('servicios.software,');
          MyQuery1.SQL.Add('servicios.red,');
          MyQuery1.SQL.Add('servicios.`diseño`,');
          MyQuery1.SQL.Add('servicios.soporte,');
          MyQuery1.SQL.Add('servicios.impresion,');
          MyQuery1.SQL.Add('servicios.sol,');
          MyQuery1.SQL.Add('servicios.sol_via_email,');
          MyQuery1.SQL.Add('servicios.sol_via_ofi,');
          MyQuery1.SQL.Add('servicios.sol_via_oral,');
          MyQuery1.SQL.Add('servicios.sol_via_tel,');
          MyQuery1.SQL.Add('servicios.sol_via_otro,');
          MyQuery1.SQL.Add('servicios.sol_via_ofi_num,');
          MyQuery1.SQL.Add('servicios.sol_via_memo,');
          MyQuery1.SQL.Add('servicios.ac_rea,');
          MyQuery1.SQL.Add('servicios.obser,');
          MyQuery1.SQL.Add('servicios.respon,');
          MyQuery1.SQL.Add('servicios.dir_resp,');
          MyQuery1.SQL.Add('servicios.img');
          MyQuery1.SQL.Add('FROM');
          MyQuery1.SQL.Add('servicios');
          MyQuery1.SQL.Add('WHERE');
          if JvDateTimePicker1.Date = JvDateTimePicker2.Date then
                MyQuery1.SQL.Add('servicios.f_ini = '+ QuotedStr(DateToStr(JvDateTimePicker1.Date)) +'')
             else begin
                MyQuery1.SQL.Add('(servicios.f_ini >='+ QuotedStr(DateToStr(JvDateTimePicker1.Date))  +') AND  (servicios.f_ini <='+ QuotedStr(DateToStr(JvDateTimePicker2.Date))  +')');
             end;

          //ordenar
          MyQuery1.SQL.Add('ORDER BY');
          MyQuery1.SQL.Add('servicios.f_ini');

          MyQuery1.Open; // abrir query
Responder Con Cita
  #2  
Antiguo 02-06-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, ¿Por qué no utilizas mejor parámetros?, ¿los campos de fechas son campos tipo date?, porque veo que conviertes una fecha a string cosa que no le veo sentido .

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 02-06-2008
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Question

Mucha gracias,gracis por tu comentario mas embargo me gustaria que me dieras un ejemplo si pudieras.

Encontre el problema principal mas estoy buscando ayuda para solucionarlo
el servidor mysql tiene un formato de fecha YYYY/MM/DD delphi tima un valor del sistema de tipo DD/MM/YYYY ya intente cambiarle el formato al componente de esta forma
Código Delphi [-]
JvDateTimePicker1.Format :='yyyy/MM//dd'


cuendo ejecuto el query y lo visualizo queda de nuevo DD/MM/YYYY.
Eso me da la idea que debo cambiarle el formato a la fecha en punto mas bajo cambiarle el formato de fecha al sistema, estoy buscando como.

me imagino que algo como system.date.format :='YYYY/MM/DD';
mas tambien puede ser iguarl de complicado cambarle la variable a mysql para que en lugar de ser %Y%M%D sea %D %M %Y

sigo buscando si encuantro la solucio la publicare mientras sigo buscando y les pido ayuda.
Responder Con Cita
  #4  
Antiguo 02-06-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, el formato por default de MySQL no es YYYY/MM/DD sino yyyy-MM-dd, por lo tanto debería ser así:

Código Delphi [-]
JvDateTimePicker1.Format :='yyyy-MMM-dd'

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #5  
Antiguo 03-06-2008
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 254
Poder: 18
vroa74 Va por buen camino
Mychas gracias por tu comentario.
ya lo he eintentado mas sin embargo despues de ejecutar query lo envio a un campo memo
y siguo observo que aunque le cambio el modo al momento de enviarlo al query sigue quedado de la forma

dd/MM/yyyy

te agradesco mucho que contestaras mas sigo en la busqueda de la solucion
Responder Con Cita
  #6  
Antiguo 03-06-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, hay algo que no entiendo, pones lo siguiente:

Código Delphi [-]
if JvDateTimePicker1.Date = JvDateTimePicker2.Date then
                MyQuery1.SQL.Add('servicios.f_ini = '+ QuotedStr(DateToStr(JvDateTimePicker1.Date)) +'')
             else begin
                MyQuery1.SQL.Add('(servicios.f_ini >='+ QuotedStr(DateToStr(JvDateTimePicker1.Date))  +') AND  (servicios.f_ini <='+ QuotedStr(DateToStr(JvDateTimePicker2.Date))  +')');
             end;

¿el campo servicios.f_ini es un campo Date o string?, por qué no intentas de esta manera?:

Código Delphi [-]
if JvDateTimePicker1.Date = JvDateTimePicker2.Date then
            begin
                MyQuery1.SQL.Add('servicios.f_ini = :fecha');
                MyQuery1.ParamByName('fecha').AsDate := JvDateTimePicker1.Date;
             end else begin
                MyQuery1.SQL.Add('servicios.f_ini >= :inicio AND servicios.f_ini <= :final');
                MyQuery1.ParamByName('inicio').AsDate := JvDateTimePicker1.Date;
                MyQuery1.ParamByName('final').AsDate := JvDateTimePicker2.Date;
             end;
   end;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.

Última edición por enecumene fecha: 03-06-2008 a las 02:32:11.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda para guardar fechas en mysql metroyd SQL 3 10-03-2008 05:30:02
ayuda para leer una fecha desde un txt negro_sto C++ Builder 5 24-02-2008 04:56:18
Ayuda por favor para correr un query en Delphi a una base de datos en Mysql charlyfitlh MySQL 10 01-11-2007 20:28:49
Extraer con un DbNavigator fecha para mostrarla en un DateTimePicker (BD MySQL) alan85 Varios 2 06-06-2007 17:12:23
Ayuda para iniciarme en esto de la base de datos MySql inexperto MySQL 5 28-05-2004 19:12:50


La franja horaria es GMT +2. Ahora son las 14:10:53.


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