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 05-04-2005
Aprendiendo Aprendiendo is offline
Miembro
 
Registrado: may 2003
Ubicación: España
Posts: 122
Poder: 22
Aprendiendo Va por buen camino
Question Consulta en SQL con muchos parámetros

Hola a tod@s.

Me explico con respecto al título. Estoy diseñando una aplicación para una inmobiliaria, todo me funciona perfectamente, pero ha llegado el momento en el cual tengo que mostrar de todos los inmuebles que haya en la tabla principal sólo aquellos que se adecuen a las condicones que previamente el cliente haya marcado ó indicado.

Me explico mejor (zona del inmueble, número de baños, antiguedad, amueblado (si/no), luz (si/no), ascensor (si/no) y así hasta 22 comprobaciones).

¿Cómo podría diseñar una consulta para que me acepte todos estos parámetros? y no tener que comprobar uno por uno cual ha sido modificado.

Esperando una pronta respuesta por vuestra parte, reciban un cordial saludo...
Responder Con Cita
  #2  
Antiguo 05-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por Aprendiendo
¿Cómo podría diseñar una consulta para que me acepte todos estos parámetros? y no tener que comprobar uno por uno cual ha sido modificado.

¿Podrias intentar explicarte de nuevo?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 05-04-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
¿Que Base de datos estas usando?, Que tipo de acceso, BDE, ADO...

Yo no me preocuparía de ver cual modifica el usuario, ya que eso implica más trabajo para ti, simplemente en el botón buscar, pones algo así:

Código Delphi [-]
  qry.close;
  qry.sql.text := ' select blah from blah where luz = :luz and aseos = :aseos ';
  qry.paramsbyname('luz').value := checkboxLuz.checked;
  qry.paramsbyname('aseos').value := spinedit1.value;
  if not qry.prepared then 
     qry.prepare;
  qry.open;

Espero que sea lo que necesitas, si no ... pues lo dicho por el compañero jachguate

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 05-04-2005
Ing_Fajardo Ing_Fajardo is offline
Miembro
 
Registrado: abr 2005
Ubicación: Mexico
Posts: 46
Poder: 0
Ing_Fajardo Va por buen camino
Te recomiendo si estas usando algun servidor SQL, que crees vistas, con eso reduces tu codigo y se hace mas rapido la consulta.
Responder Con Cita
  #5  
Antiguo 05-04-2005
Ryu Ryu is offline
Miembro
 
Registrado: abr 2005
Posts: 62
Poder: 20
Ryu Va por buen camino
Lightbulb Solo es una observacion tal vez ayude

en el codigo que usas lape:

existe un error a mi parecer pues como el tomara los valores si para consultar si los estas asignando despues de consultar.
ademas para mí es mejor pasar parametros creando los parametros en ejecucion
me explico eje:
Código:
 dm.dataset1.Parameters.AddParameter.Index:=0 ; 
dm.dataset1.Parameters.Items[0].Name:='parametro';
dm.dataset1.Parameters.Items[0].DataType:=fttipo de datos;
dm.dataset1.Parameters.Items[0].Direction:=pdinput;
dm.dataset1.Parameters.ParamByName('pr').Value:=componente;
dm.dataset1.Close;
dm.dataset1.CommandText:='select * from 10rhacci where campo =:pr' dm.dataset1.Open;
dm.dataset.Parameters.Clear;

Última edición por Ryu fecha: 05-04-2005 a las 21:49:21. Razón: arreglar algo
Responder Con Cita
  #6  
Antiguo 05-04-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por Ing_Fajardo
que crees vistas, con eso reduces tu codigo y se hace mas rapido la consulta.
Definitivamente se reduce el código, pero ¿realmente se hace mas rápida la consulta?

A primera vista, no veo en que ayudaria a mejorar el rendimiento el uso de vistas. Es mas con ciertos motores como SQL Server (al menos el 7) el uso de vistas en ciertas sentencias con varios joins puede llegar a tener un coste considerable de rendimiento en contraparte con las consultas directas a las tablas.... es un hecho que he comprobado recientemente y que confirma mis antiguas teorias sobre sqlserver...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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 09:19:13.


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