Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-11-2008
nolo nolo is offline
Miembro
 
Registrado: oct 2008
Posts: 12
Poder: 0
nolo Va por buen camino
manejos de parametros

hola tngo una consulta en sql... cargada en un dataset... bueno el tema es asi:
- mi consulta posee 3 parametros que estan manipulados por 3 CheckBox con 3 ComboBox...
- quiero q me ralize la consulta cuando estan los 3 checkBox activados o ninguno o dos o uno.. osea evaluando todas las posibiliadaes...
- no lo puedo hacer andar, solo me tira los datos de mi consulta si estan los 3 CheckBox activados...

Alguien tiene un ejemplo de como hacerlo?
les dejo el contenido de mi boton q me tira las consultas

Código Delphi [-]
procedure TClientesPorVendedor.Button1Click(Sender: TObject);
 var
  sQ: WideString;
  sFiltro: string;
 begin
  Screen.Cursor := crHourGlass;
  adsReporte.Close;
  try

   //if dblcVendedor.Enabled or dblcLocalidad.Enabled or dblcListaPrecio.Enabled then
   begin
   sQ:= ' SELECT Clientes.idCliente, Clientes.sRazonSocial, Clientes.sDireccion, Clientes.idLocalidad, Clientes.sTelefono, Localidades.sNombre'+
        ' FROM Clientes LEFT JOIN Localidades ON Clientes.idLocalidad = Localidades.idLocalidad'+
        ' WHERE 1 = 1'+
        ' AND idVendedor ='+intToStr(dblcVendedor.KeyValue)+
        ' AND idLista = '+intToStr(dblcListaPrecio.KeyValue)+
        ' AND Clientes.idLocalidad = '+intToStr(dblcLocalidad.KeyValue);
         adsReporte.CommandText := sQ;
         {adsReporte.Parameters.ParamByName('idVendedor').Value := intToStr(dblcVendedor.KeyValue);
         adsReporte.Parameters.ParamByName('idLista').Value := intToStr(dblcListaPrecio.KeyValue);
         adsReporte.Parameters.ParamByName('idLocalidad').Value := intToStr(dblcLocalidad.KeyValue);}
         adsReporte.Open;
   end
   finally
    Screen.Cursor := crDefault;
   end;

   if (CheckBox1.Checked) then
    sFiltro := 'idVendedor = '+intToStr(dblcVendedor.KeyValue)
    else
    sFiltro := '';
   if (CheckBox3.Checked) then
    begin
     if Length(sFiltro) > 0 then
     sFiltro := sFiltro + ' AND ';
     sFiltro := sFiltro  + 'idLista = '+intToStr(dblcListaPrecio.KeyValue)
    end
    else
      sFiltro := '';
   if (CheckBox2.Checked) then
    begin
     if Length(sFiltro) > 1 then
     sFiltro := sFiltro + ' AND ';
     sFiltro := sFiltro + 'idLocalidad = '+intToStr(dblcLocalidad.KeyValue)
     end
    else
     sFiltro := '';

   adsReporte.Filtered := false;
   adsReporte.Filter := sFiltro;
   adsReporte.Filtered := true;

end;

pido disculpas si el hilo no esta iniciado donde deberia ser.. desde ya muchas gracias
Responder Con Cita
  #2  
Antiguo 04-11-2008
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
el problema está en los else que pones
Código Delphi [-]
else
  sFiltro='';

Antes de realizar los if inicializa sFiltro a vacio y quita esos else

saludos
__________________
self.free;
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
Parametros mauqu Varios 2 06-08-2007 18:25:01
parametros en sql nikotina SQL 4 31-10-2006 11:09:17
Parametros Opcionales no Parametros por defecto Velia Varios 7 19-08-2006 15:18:42
Parámetros en ADO Delfin Conexión con bases de datos 0 19-03-2005 00:02:36
Parametros jostrix Varios 1 31-10-2004 11:55:33


La franja horaria es GMT +2. Ahora son las 01:18:02.


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