Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Filtrar resultados de una tabla con un campo tipo TEXT SQLite (https://www.clubdelphi.com/foros/showthread.php?t=86059)

MLROJO 12-06-2014 00:27:06

Filtrar resultados de una tabla con un campo tipo TEXT SQLite
 
Hola,

Tengo una base de datos SQLite y accedo a ella con TFDConnection, TFDQuery, TDataSource.

Una de las tablas contiene un campo de tipo TEXT, cuando intento realizar una búsqueda sobre este campo no devuelve resultados.

Según he podido leer por ahí, es una limitación de este campo ¿es así?. Si pruebo con otro campo de la tabla de tipo varchar, por ejemplo, funciona correctamente.

¿Alguien se ha encontrado con el problema?

Mi código:

Código Delphi [-]
    if Edit1.Text <> '' then
    begin
      DataModule2.qCodigosVersiones.Active := false;
      DataModule2.qCodigosVersiones.SQL.Clear;
      DataModule2.qCodigosVersiones.SQL.Add('select * from codigosVersiones where texto = : p1');
      DataModule2.qCodigosVersiones.Params[0].AsWideMemo :=  Edit1.Text;
      DataModule2.qCodigosVersiones.Active := true;
      end
      else
      begin
      DataModule2.qCodigosVersiones.Active := false;
      DataModule2.qCodigosVersiones.SQL.Clear;
      DataModule2.qCodigosVersiones.SQL.Add('select * from codigosVersiones');
      DataModule2.qCodigosVersiones.Active := true;
    end;

Otro código que he probado:

Código Delphi [-]
    if Edit1.Text <> '' then
    begin
      DataModule2.qCodigosVersiones.Active := false;
      DataModule2.qBusqueda.Filter := ' texto like ''%' + Edit1.Text + '%''';
      DataModule2.qBusqueda.Filtered := true;
      DataModule2.qCodigosVersiones.Active := true;
      end
      else
      begin
      DataModule2.qCodigosVersiones.Active := false;
      DataModule2.qCodigosVersiones.SQL.Clear;
      DataModule2.qCodigosVersiones.SQL.Add('select * from codigosVersiones');
      DataModule2.qCodigosVersiones.Active := true;
    end;

Gracias,

Saludos.

pjmedina 20-06-2014 18:32:00

Prueba cambiando el % por *.


La franja horaria es GMT +2. Ahora son las 08:33:47.

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