Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Un LIKE que no me gusta (https://www.clubdelphi.com/foros/showthread.php?t=52651)

gorsan 27-01-2008 11:33:08

Un LIKE que no me gusta
 
Hola forereros. De nuevo recurro a ustedes para plantearles una cuestion. Se trata de lo siguiente:
Vaya por delante que uso IBX6 y Delphi7.
Sobre un formulario tengo dos controles un Edit y un ComboBox. Se trata de hacer busquedas blandas sobre un determinado campo de una tabla que se haya encapsulada en un IBDataSet. En el control combo tengo los nombres de todos los campos de la tabla. En el control Edit es donde se iran introduciendo los caracteres alfanumericos para la busqueda blanda en funcion de el nombre del campo que haya elegido el usuario. El codigo esta escrito asi:
Código Delphi [-]
procedure TDMPersonas.Buscar(Campo, Texto : string);
begin
   With IBPersonas do
   try
      DisableControls;
      Close ;
      SelectSQL.Clear;
      SelectSQL.Add(FOriginalSQL);
      if Texto = '' then
      begin
         Open;
         Exit;
      end;
      SelectSQL.Add('WHERE '+Campo+' LIKE "'+Texto+ '%"' );
      SelectSQL.Add('ORDER BY '+Campo);
      Open ;
   finally
      EnableControls;
   end;
end;
¿Porque falla esta consulta? Si introduzco, por ejemplo, G
Da error code -206 column unknown G%'

Muchas gracias por vuestras futuras respuestas.

basti 27-01-2008 12:49:42

Las expresiones de texto deberían ir entre comillas simples:
Código Delphi [-]
      SelectSQL.Add('WHERE '+Campo+' LIKE '+ QuotedStr(Texto+ '%') );
      SelectSQL.Add('ORDER BY '+Campo);

gorsan 27-01-2008 21:24:18

Ok. Ahora si va la consulta. Gracias.


La franja horaria es GMT +2. Ahora son las 21:48:54.

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