Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-02-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Ummmm.... no es tan simple....

Cita:
Empezado por santiago14
No pretendo que mi buscador tenga tantas opciones de búsqueda como estos motores de búsqueda (+, -, near, and, or, not...) pero me conformaría con usar el + solamente.
Santiago14, entiendo lo que deseas. Pero realizar un buscador a ese estilo, no es tan sencillo con hacer un único:
Código SQL [-]
select tus_campos from tus_tablas where condiciones_de_busqueda

Primeramente tienes que saber bien el rango de tu búsqueda: ¿Sobre que campos deberá buscar?¿1,2,...20?¿Cuantas tablas?¿1,2,10?¿Cuántas condiciones?¿1,2... o algo dificil.... 6? Si puedes responder a esas preguntas se puede limitar la búsqueda.

Lo ideal es "armar" una consulta dependiendo de las condiciones que impones a la búsqueda. Y para obtener una condición "+" en un buscador lo más simple es:
Código SQL [-]
 select tus_campos from tus_tablas WHERE tu_campo_condicion1 = Condicion1 AND tu_campo_condicion2 = Condicion2

Remarco con negrita para que veas... de lo que hablo. Tus_campos puede ir desde uno y valla uno a saber cuantos más, y todo dependiendo de las tablas que intervienen.

¿Quieres buscar globalmente?¿En toda la base de datos?

Si bien no dije algo que tal vez tu ya sepas, quiero hacerte notar que armar una búsqueda como esas no es algo sencillo.

Creo que una vez se ha tratado algo parecido. Busca en los foros.

Si puedes especificar mejor cuales son tus objetivos y lo que pretendes, sería mejor para quienes lean este hilo y pueda concentrar sus esfuerzos en algo concreto.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #2  
Antiguo 13-02-2007
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.243
Poder: 22
ElKurgan Va camino a la fama
Si lo que quieres es conocer algo de la metodología que se oculta detrás de la construcción de un buscador de estas características, te puedes pasar por la Web del amigo JM, donde hay dos artículos la mar de interesantes. En concreto, en http://www.lawebdejm.com/prog/delphi...or_google.html

Un saludo
Responder Con Cita
  #3  
Antiguo 13-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
¿y por qué implementar el "+"? ¿por qué no quitarlo?, es decir, no creo necesario que escriba el símbolo +, si no quiere algo, que no lo escriba.

Por otro lado coincido con Delphius, no creo conveniente dar al usuario una sola caja de búsqueda y complicarnos la vida con desglosar el contenido que escribe. Por otro lado, seguro que los resultados no son lo que espera.

Con esto quiero decir, que quizás sea mejor poner 3 cajas de texto:
- Tipo de artículo: Memorias
- tipo de RAM : ddr
- Velocidad : 512

Así no obtendremos los resultados de las placas bases u otros artículos que el usuario no busca.

Para hacer esto, ultimamente estoy usando un TStringList para construir las claúsula Where de dicha consulta, más o menos algo así:
Código Delphi [-]
var Where :Tstringlist;
begin
  Where.Add( 'where articulo like ' + quotedstr('%'+ cajaArticulo.text+ '%')); // el tipo de artículo es imprescindible que lo escriba

  if Trim(cajaTipo.text)<> EmptyStr then
    Where.Add(' and tipo = ' quotedstr(cajaTipo.TExt);

  if Trim(cajaVelocidad.Text)  <>EmptyStr then
    Where.Add('and Velocidad = ' + cajaVelocidad.Text);

query1.sql.text := 'select * from tabla ' + Where.Text;
query1.Open;

Bueno... más o menos, en realidad uso un Objeto creado por mi que controla algunas cosillas más.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Buscadores dango PHP 4 25-02-2013 17:37:57
Nueva aplicación de google jhonny Noticias 0 06-02-2007 23:40:27
Google ofrece un nuevo servicio gratuito para crear buscadores especializados Neftali [Germán.Estévez] Noticias 0 24-10-2006 11:39:40
Google Talk - El cliente de mensajería de Google dec Noticias 18 26-08-2005 09:11:39


La franja horaria es GMT +2. Ahora son las 03:16:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi