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-06-2005
JELIRM JELIRM is offline
Miembro
 
Registrado: feb 2005
Ubicación: EL SALVADOR
Posts: 124
Poder: 20
JELIRM Va por buen camino
Talking Pasar parametros a SQL por medio DE Tquery

Hola,
Tengo un formulario donde tengo mi reporte con sus respectivos componentes, QuickRep su Query1 y
su respectivo Datasource. en mi Query1 en su proiedad SqL
tiene el siguiente código Sql .

Select fecha,nombre,edad from mitabla

Mi reporte es funcional; pero lo que quiero hacer ahora es meterle parametros al query1 como por ejemplo quiero desde un miniformnulario que se
cargue previo al reporte darle un rango de fecha por ejemplo que me muestre la consulta con los campos descritos en la consulta anteriror con la condicion que sean de fecha 01-01-2005 al 03-01-2005.


Las caidas hacen aprender.

--Saludos.
Responder Con Cita
  #2  
Antiguo 28-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Puedes usar la Clausura Where
Código SQL [-]
 Select fecha,nombre,edad from mitabla
 where fecha between #01/01/2001# and #02/02/2000#
Suerte
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 28-06-2005 a las 00:29:37.
Responder Con Cita
  #3  
Antiguo 28-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por ejemplo

Código SQL [-]
Select fecha,nombre,edad from mitabla
where fecha between :fecha_inicial and :fecha_final

Antes de abrir la consulta sustituyes los parámetros con


Código Delphi [-]
Query1.ParamByName('fecha_inicial').AsDate := fechaInicial;
Query1.ParamByName('fecha_final').AsDate := fechaFinal;

donde fechaInicial y fechaFinal serían dos variables de tipo TDate con los valores adecuados.

// Saludos
Responder Con Cita
  #4  
Antiguo 28-06-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Por Segudos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 28-06-2005
Raptor Raptor is offline
No confirmado
 
Registrado: jul 2003
Ubicación: Santo Domingo R.D.
Posts: 105
Poder: 0
Raptor Va por buen camino
Saludos.

una posible sobucion es crear un procedure dentro del formulario del reporte mas o menos asi :

procedure Tform1.LoadRpt(Const Fecha:TDate;aPrint:boolean=false);
Const
aConsulta = 'Select * From Cliente Where fecha = "%s" ';
begin

With MiQuery do begin
Close;
Sql.Add(format(aConsulta,[formatdatetime('mm/dd/yyyy',Fecha)]));
open;
if ismpty then begin
Close;
Showmessage('Registro no encontrado...');
exit;
end;


if aprint then
quickrpt.print
else quickrpt.preview;

//--[Suerte espero aberte ayudado... ]--

end;

end;
Responder Con Cita
  #6  
Antiguo 28-06-2005
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.286
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
TAG's:

delphi (entre corchetes)
...
/delphi (entre corchetes)

...no es tan difícil...
(de buen rollo eh!!!!)
__________________
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
  #7  
Antiguo 29-06-2005
JELIRM JELIRM is offline
Miembro
 
Registrado: feb 2005
Ubicación: EL SALVADOR
Posts: 124
Poder: 20
JELIRM Va por buen camino
"me da error marcoszorrilla!"

pongo la instruccion Sql en la propiedad del Query1
Select fecha,nombre,edad from mitabla
where fecha between :fecha_inicial and :fecha_final

y luego al ir a poner a True la propiedad Active del Query me da el siguiente
error textual "query1:Field 'fecha_inicial'is of an unknow type
Responder Con Cita
  #8  
Antiguo 29-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No soy marcoszorrilla y pregunto, ¿leiste esta parte?

Cita:
Empezado por roman
Antes de abrir la consulta sustituyes los parámetros con

Código Delphi [-]
Query1.ParamByName('fecha_inicial').AsDate := fechaInicial;
Query1.ParamByName('fecha_final').AsDate := fechaFinal;
// Saludos
Responder Con Cita
  #9  
Antiguo 29-06-2005
JELIRM JELIRM is offline
Miembro
 
Registrado: feb 2005
Ubicación: EL SALVADOR
Posts: 124
Poder: 20
JELIRM Va por buen camino
Smile Si Disculpa Roman!!

Hola, Disculpa, pero esque estaba con otro hilo sobre otro tema con marcoszorrilla, y si lei esa parte;y no era el problema pero ya lo resolvi, este consistia en que no se habia definido el tipo de datos para el params que es este caso era FechaInicial y fechaFinal. estos los defini en la propiedad params del Tquery luego te aparecen por defecto los dos parametros que definistes en la instruccion sql: FechaInicial y Final y al posiionar el puntero me despliega nuevas propiedades entre ellas DataType y alli se las defini.
Lo que tu me decias que si ya habia leido la parte que me hicistes enfasis de tu respuesta es cuando ya voy a pasar el parametro y claro este debe ser igual alque se le define en la propiedad que ya te mencione.
eso era todo.>>

Gracias por tu ayuda que fue de gran soporte.
ha y disculpa por la confusion el errar es de humanos...

Saludos,

El que persevera alcanza
Responder Con Cita
  #10  
Antiguo 29-06-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues es raro. La definición del tipo de datos del parámetro no debería ser necesaria ya que AsDate se encarga precisamente de indicar que el tipo es DateTime.

// Saludos
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 22:03:14.


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