Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Tres cosas :
1.
Veo que estás devolviendo dos veces la "Fecha Inicio" + "Hora Inicio" como FHi y FHf.
Quizás es que no estás viendo lo que en realidad deseas

Código Delphi [-]
sql_ := 'select Id_Producto,B.Id_Bascula,Estado_B,NTiquete,Fecha_I,Hora_I,Peso_I,Fecha_F,Hora_F, '
    + 'Peso_F,Servicio,N_Viaje,Variedad,Lote,Humeda,Impureza,Procedencia,N_Documento, '
    + 'Origen,Destino,Observacion,Tarifa,

    CONCAT(Fecha_I, ''' + espacio + ''',Hora_I) AS FHi,
    CONCAT(Fecha_I, ''' + espacio + ''',Hora_I) AS FHf,

    Peso_I-Peso_F as DifE,Peso_F-Peso_I as DifS,Anulado, ' +
    'B.Id_VC,Mv.Id_Cliente,IdPLiq, ' +
...

2.
Veo que filtras solo Fecha_F
Quizás deberías modificar a
fechas := ' and Fecha_**I**>=''' + FechaI + ''' and Fecha_F<=''' + FechaF + '''';

Código Delphi [-]
  begin
    fechas := ' and Fecha_F>=''' + FechaI + ''' and Fecha_F<=''' + FechaF + '''';
  end;

3.
Cuando filtras por fechas quizás tengas que tener en cuenta la hora.
¿Cuál es el formato que tiene FechaI y FechaF?
No conozco MySQL pero quizás deberías revisar qué contienen y modificarlo según corresponda.
Por ejemplo, si quieres el mes de enero completo
- Fecha_I = "2022-01-01 00:00:00"
- Fecha_F = "2022-01-31 23:59:59"
Código Delphi [-]
  begin
    fechas := ' and Fecha_F>=''' + FechaI + ''' and Fecha_F<=''' + FechaF + '''';
  end;
Responder Con Cita
  #2  
Antiguo 31-01-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Antes de hacer el Active, yo mostraría un mensaje con la SQL que vas a ejecutar, para asegurarte de que es la misma que estás ejecutando en al phpmyadmin.

Por otro lado te recomiendo usar parámetros para la consulta, en lugar de concatenar cadenas. hará la consulta más segura y más simple de leer. Las dobles comillas o triples comillas a veces juegan malas pasadas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 31-01-2023
LACV LACV is offline
Miembro
 
Registrado: oct 2015
Posts: 80
Poder: 9
LACV Va por buen camino
Exclamation

buen dia;
lo del primer punto que es enviar un mensaje , ya lo realice por esa razon quite los parametros para poder ver lo que se esta pasando, mil gracias por las ideas

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Antes de hacer el Active, yo mostraría un mensaje con la SQL que vas a ejecutar, para asegurarte de que es la misma que estás ejecutando en al phpmyadmin.

Por otro lado te recomiendo usar parámetros para la consulta, en lugar de concatenar cadenas. hará la consulta más segura y más simple de leer. Las dobles comillas o triples comillas a veces juegan malas pasadas.
Responder Con Cita
  #4  
Antiguo 31-01-2023
LACV LACV is offline
Miembro
 
Registrado: oct 2015
Posts: 80
Poder: 9
LACV Va por buen camino
estoy devolviendo dos veces la fecha para mostrar en la columna del dbgrid fecha y hora a la vez por que en la DB tengo separado estos dos valores para evitar lo que comentas en el tercer punto. sobre el punto dos utlizo al Fecha_F por que es el parametro fundamental en la db ya que es cuando se toma el ultimo dato de la del registro y sobre ese tengo que realizar las consultas
Cita:
Empezado por duilioisola Ver Mensaje
Tres cosas :
1.
Veo que estás devolviendo dos veces la "Fecha Inicio" + "Hora Inicio" como FHi y FHf.
Quizás es que no estás viendo lo que en realidad deseas

Código Delphi [-]
sql_ := 'select Id_Producto,B.Id_Bascula,Estado_B,NTiquete,Fecha_I,Hora_I,Peso_I,Fecha_F,Hora_F, '
    + 'Peso_F,Servicio,N_Viaje,Variedad,Lote,Humeda,Impureza,Procedencia,N_Documento, '
    + 'Origen,Destino,Observacion,Tarifa,

    CONCAT(Fecha_I, ''' + espacio + ''',Hora_I) AS FHi,
    CONCAT(Fecha_I, ''' + espacio + ''',Hora_I) AS FHf,

    Peso_I-Peso_F as DifE,Peso_F-Peso_I as DifS,Anulado, ' +
    'B.Id_VC,Mv.Id_Cliente,IdPLiq, ' +
...

2.
Veo que filtras solo Fecha_F
Quizás deberías modificar a
fechas := ' and Fecha_**I**>=''' + FechaI + ''' and Fecha_F<=''' + FechaF + '''';

Código Delphi [-]
  begin
    fechas := ' and Fecha_F>=''' + FechaI + ''' and Fecha_F<=''' + FechaF + '''';
  end;

3.
Cuando filtras por fechas quizás tengas que tener en cuenta la hora.
¿Cuál es el formato que tiene FechaI y FechaF?
No conozco MySQL pero quizás deberías revisar qué contienen y modificarlo según corresponda.
Por ejemplo, si quieres el mes de enero completo
- Fecha_I = "2022-01-01 00:00:00"
- Fecha_F = "2022-01-31 23:59:59"
Código Delphi [-]
  begin
    fechas := ' and Fecha_F>=''' + FechaI + ''' and Fecha_F<=''' + FechaF + '''';
  end;

Última edición por LACV fecha: 31-01-2023 a las 16:03:59.
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
consulta sql traer todos los registros menos los primeros 8 jangel_ramirezm SQL 5 12-09-2008 18:50:46
hacer un SUM de una consulta ya hecha egarc Conexión con bases de datos 9 27-05-2008 09:10:43
tabla dañada? aparecen todos los registros asi: ®?P½/”ÄrÒP Wonni Tablas planas 10 16-06-2006 20:59:48
Problema con una consulta hecha de 3 formas VRO Firebird e Interbase 5 24-01-2005 19:02:11
Recuperar todos los registros en consulta lafirma Conexión con bases de datos 9 07-08-2003 22:05:33


La franja horaria es GMT +2. Ahora son las 19:36:51.


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