Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 20-02-2026
aledieb aledieb is offline
Miembro
 
Registrado: jun 2005
Ubicación: Buenos Aires, Argentina
Posts: 147
Poder: 21
aledieb Va por buen camino
Esto te puede servir aunque es en pascal.
Código Delphi [-]
function SepararPalabrasYPrepararQuery(const Input: string; CondicionAND: boolean = True): string;
var
  Lista: TStringList;
  i: Integer;
  Query: string;
begin
  Result := '';
  Query := '';

  Lista := TStringList.Create;
  try
    Lista.Delimiter       := ' ';
    Lista.StrictDelimiter := True;
    Lista.DelimitedText   := Trim(Input);   // corta espacios múltiples y vacíos

    // Limitamos a 5 palabras Opción personal una limitación que yo obligo.
    if Lista.Count > 5 then
      Lista.Count := 5;

    for i := 0 to Lista.Count - 1 do
    begin
      if i > 0 then
        Query := Query + IfThen(CondicionAND, ' AND ', ' OR ');

      // Escapamos comillas simples
      Lista[i] := StringReplace(Lista[i], '''', '''''', [rfReplaceAll]);
      // acá podes poner otro parámetro para hacerlo más genérica
      Query := Query + ' Nombre LIKE ''%' + Lista[i] + '%''';
      // acá podes poner otro parámetro para hacerlo más genérica
      // quedaria más o menos Query := Query + ' '+snombrecampo +' LIKE ''%' + Lista[i] + '%''';
    end;

    Result := Query;
  finally
    Lista.Free;
  end;
end;
Llamado:
Código Delphi [-]
respuesta:= SepararPalabrasYPrepararQuery('Filtro Aceite W65/9',false);
devuelve:
Código Delphi [-]
"Nombre like '%Filtro%' OR Nombre like '%Aceite%' OR Nombre like '%W65/9%'"
ö
"Nombre like '%Filtro%' AND Nombre like '%Aceite%' AND Nombre like '%W65/9%'"

La idea general me la dio Grok
__________________
Suerte
Alejandro

Última edición por aledieb fecha: 20-02-2026 a las 02:24:42.
Responder Con Cita
 



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
Manejo de cadenas de texto. mcasso Varios 3 18-03-2010 07:23:24
Comparar dos cadenas de texto creus Varios 5 06-03-2009 00:22:13
Buscar string dentro de un archivo de texto didier Varios 4 13-04-2007 21:14:00
Buscar dentro de Archivo Texto o PDF... MasterXP OOP 0 12-10-2005 09:24:31
como buscar dentro de una consulta un texto que sea parte de la descripcion viajero2015 Conexión con bases de datos 1 15-11-2003 05:18:09


La franja horaria es GMT +2. Ahora son las 15:10:16.


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