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 28-04-2017
netcom netcom is offline
Miembro
NULL
 
Registrado: nov 2014
Posts: 11
Poder: 0
netcom Va por buen camino
Problemas entre fechas con resto de la sentencia

Buenas,
Primero de todo gracias de antemano por vuestras posibles respuestas.
Tengo un problema con la siguiente sentencia SQL, pero no se donde radica el error. Haciendo pruebas, si la modifica para solo condición 1 y 2, funciona. Si la modifico solo para condición 3 y 4, también funciona. Pero si la modifico para que tenga las 4 da error. Os adjunto el código completo:

Código Delphi [-]
With Datamodule1.ADOQuery_consultasFlujo Do
            Begin
              Close;
              SQL.Clear;
              SQL.Add('SELECT * FROM Entradas_Salidas_ECS WHERE tipo_de_entrada=condicion1 and tipo_de_salida=condicion2 and Fecha_salida BETWEEN :condicion3 and :condicion4');                
              Parameters.ParamByName('condicion1').Value:=RG_Entradas.ItemIndex;
              Parameters.ParamByName('condicion2').Value:=RG_Salidas.ItemIndex;
              Parameters.ParamByName('condicion3').Value:=E_Entrada_Inicio.Text;
              Parameters.ParamByName('condicion4').Value:=E_Entrada_Fin.Text;              
              Open;
            End;

Gracias de nuevo!
Responder Con Cita
  #2  
Antiguo 28-04-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y cuál es el error?
Responder Con Cita
  #3  
Antiguo 28-04-2017
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Código Delphi [-]
SQL.Add('SELECT * FROM Entradas_Salidas_ECS WHERE tipo_de_entrada=condicion1 and tipo_de_salida=condicion2 and Fecha_salida BETWEEN :condicion3 and :condicion4');

En condición1 y condicion2 no veo los dos puntos (:condicion1, :condicion2). Podría ser esto??
Responder Con Cita
  #4  
Antiguo 28-04-2017
netcom netcom is offline
Miembro
NULL
 
Registrado: nov 2014
Posts: 11
Poder: 0
netcom Va por buen camino
Buenas,

Cuando cambio la sentencia solo para condicion1 y 2 o solo para condicion3 y 4 no hay error ninguno. Cuando lo pongo junto como veis lanza un error indicando que el parámetro condicion1 no lo encuentra, algo muy raro.

He probado lo de los puntos por si las moscas, no tienen nada que ver.

Gracias por las respuestas!
Responder Con Cita
  #5  
Antiguo 28-04-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por netcom Ver Mensaje
Buenas,
Cuando cambio la sentencia solo para condicion1 y 2 o solo para condicion3 y 4 no hay error ninguno. Cuando lo pongo junto como veis lanza un error indicando que el parámetro condicion1 no lo encuentra, algo muy raro.
He probado lo de los puntos por si las moscas, no tienen nada que ver.
Gracias por las respuestas!
Lo primero de todo, la sentencia está mal, faltan los : como indica manel, a partir de ahí tienes que ver qué parámetros recibe y ver qué error da.
Responder Con Cita
  #6  
Antiguo 28-04-2017
netcom netcom is offline
Miembro
NULL
 
Registrado: nov 2014
Posts: 11
Poder: 0
netcom Va por buen camino
nuca he usado los puntos con este tipo de sentencias, haciendo pruebas y modificando código:
Código Delphi [-]
With Datamodule1.ADOQuery_consultasFlujo Do
            Begin
              Close;
              SQL.Clear;
              SQL.Add('SELECT * FROM Entradas_Salidas_ECS WHERE tipo_de_entrada =condicion1 and tipo_de_salida =condicion2 and nombre =condicion3 ');
              SQL.Add('and Fecha_salida BETWEEN :condicion4 and :condicion5 ');
              SQL.Add('and Fecha_de_entrada BETWEEN :condicion6 and :condicion7');
              Parameters.Refresh;
              Parameters.ParamByName('condicion1').Value:=RG_Entradas.Items.strings[RG_Entradas.ItemIndex];
              Parameters.ParamByName('condicion2').Value:=RG_Salidas.Items.strings[RG_Entradas.ItemIndex];
              Parameters.ParamByName('condicion3').Value:='Cliente';
              Parameters.ParamByName('condicion4').Value:=StrToDatetime(E_Entrada_Inicio.Text);
              Parameters.ParamByName('condicion5').Value:=StrToDate(E_Entrada_Fin.Text);
              Parameters.ParamByName('condicion6').Value:=StrToDate(E_Salida_Inicio.Text);
              Parameters.ParamByName('condicion7').Value:=StrToDate(E_Salida_Fin.Text);
              Open;
            End;

Ahora melanza el error "PArameter 'codición4' not found". Me estoy volviendo tarumba. ¿alguna otra idea?
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
Sentencia SQL entre Fechas y horas Chogo Firebird e Interbase 2 29-10-2010 01:12:55
slq entre dos fechas comparar fechas taru MySQL 2 30-07-2007 16:10:36
Problemas de fechas entre Foxpro y Delphi reynaldo Tablas planas 4 20-06-2006 09:31:42
Problemas con Calculo entre Fechas CamiloU OOP 2 03-04-2006 23:48:51
Problema entre query y sentencia sql ilichhernandez Conexión con bases de datos 1 17-11-2005 21:00:05


La franja horaria es GMT +2. Ahora son las 20:30:09.


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