Busca aproximada no SQL/Firebird
Tem como fazer um busca aproximada em sql, no caso de filtrar dados, por exemplo um nome. Usei o metodo between, e ele só aceita se o nome digitado for exatamente igual...Queria que mostrasse os similiares. Por exemplo para procurar os josé, digitaria ´J´ e iria aparecer todos nomes com ´J´, se digitasse ´Jo´, apareceria todos com inicio ´JO´...
Nish
Curtidas 0
Respostas
Anorex
01/02/2004
use o comando like....
GOSTEI 0
Chico Gois
01/02/2004
So complementando.....
Ex:
select * from seila where LIKE ´¬A¬´
Inté+
Ex:
select * from seila where LIKE ´¬A¬´
Inté+
GOSTEI 0
Celsoctorres
01/02/2004
Olá,
na propriedade on change de um edit faço:
para consulta com banco de dados firebird/interbase
var
NMQuery : IBQuery;
begin
NmQuery:=DM2.IBQEquip;
DBGrid1.DataSource:=DM2.DSQEquip;
NmQuery.Active:=false;
NmQuery.SQL.Clear;
NmQuery.SQL.Add(´Select * from SUATABELA where upper (CAMPODEPROCURA) like:PRCAMPO´);
NmQuery.Params[0].AsString:=´¬´ + edconsulta.Text + ´¬´;
NmQuery.Active:=true;
PRCAMPO: é um parâmetro e este atribui ao valor do edconsulta..., o ´¬´ no início e fim é para procurar em qualquer parte da palavra....
só para complementar...
neste form tenho um dbgrid, que vc deve ter percebido, o datasource deste dbgrid neste caso é o DSEquip, o DM2 é o datamodule, NmQuery é o nome da Query que vc deve ligar ao seu banco de dados, agora vc coloca um datasource, que se chama o DSEquip, este vc ligará a propriedade dataset ao NmQuery... e não coloque nada na propriedade datasource da NmQuery....
espero ter lhe ajudado....
:wink:
um abraço
na propriedade on change de um edit faço:
para consulta com banco de dados firebird/interbase
var
NMQuery : IBQuery;
begin
NmQuery:=DM2.IBQEquip;
DBGrid1.DataSource:=DM2.DSQEquip;
NmQuery.Active:=false;
NmQuery.SQL.Clear;
NmQuery.SQL.Add(´Select * from SUATABELA where upper (CAMPODEPROCURA) like:PRCAMPO´);
NmQuery.Params[0].AsString:=´¬´ + edconsulta.Text + ´¬´;
NmQuery.Active:=true;
PRCAMPO: é um parâmetro e este atribui ao valor do edconsulta..., o ´¬´ no início e fim é para procurar em qualquer parte da palavra....
só para complementar...
neste form tenho um dbgrid, que vc deve ter percebido, o datasource deste dbgrid neste caso é o DSEquip, o DM2 é o datamodule, NmQuery é o nome da Query que vc deve ligar ao seu banco de dados, agora vc coloca um datasource, que se chama o DSEquip, este vc ligará a propriedade dataset ao NmQuery... e não coloque nada na propriedade datasource da NmQuery....
espero ter lhe ajudado....
:wink:
um abraço
GOSTEI 0