Pesquisar nome do cliente em INTERBASE
Para localizar o registro de um cliente, no banco de dados INTERBASE, faço a seguinte consulta.
No campo [b:f9d4d5c25b]EdBusca.text[/b:f9d4d5c25b] o usuário digita o nome ou as iniciais do nome completo do cliente..
A consulta SQL é a seguinte, para localizar os clientes que iniciam com MARCOS ANTONIO
Select CodCli, Nome, Endereco, TElefone
From Cliente
Where nome like [b:f9d4d5c25b]´MARCOS ANTONIO¬´[/b:f9d4d5c25b]
obs: Mas ouvi um comentário de quando uso o [b:f9d4d5c25b]LIKE[/b:f9d4d5c25b], para consulta, o interbase não irá utilizar o indice que fiz sobre o campo nome..
Isso é verdade? Como posso fazer essa consulta então?
No campo [b:f9d4d5c25b]EdBusca.text[/b:f9d4d5c25b] o usuário digita o nome ou as iniciais do nome completo do cliente..
A consulta SQL é a seguinte, para localizar os clientes que iniciam com MARCOS ANTONIO
Select CodCli, Nome, Endereco, TElefone
From Cliente
Where nome like [b:f9d4d5c25b]´MARCOS ANTONIO¬´[/b:f9d4d5c25b]
obs: Mas ouvi um comentário de quando uso o [b:f9d4d5c25b]LIKE[/b:f9d4d5c25b], para consulta, o interbase não irá utilizar o indice que fiz sobre o campo nome..
Isso é verdade? Como posso fazer essa consulta então?
Sistemp
Curtidas 0
Respostas
Maicongabriel
09/05/2004
Neste seu exemplo o uso do indice até é feito.
Não utilizaria o indice se você coloca-se o ´¬´ na frente da string que deseja localizar! :roll:
Não utilizaria o indice se você coloca-se o ´¬´ na frente da string que deseja localizar! :roll:
GOSTEI 0
Virus69
09/05/2004
eu uso essa consulta assim
dm.IBclientes.close;
dm.IBclientes.SelectSQL.Clear;
dm.IBclientes.SelectSQL.Add(´SELECT * FROM CLIENTES´);
dm.IBclientes.SelectSQL.ADD(´WHERE CPFCGC LIKE:ACHA ´);
dm.IBclientes.ParamByName(´ACHA´).AsString := EDIT1.Text + ´¬´;
dm.IBclientes.open;
8)
dm.IBclientes.close;
dm.IBclientes.SelectSQL.Clear;
dm.IBclientes.SelectSQL.Add(´SELECT * FROM CLIENTES´);
dm.IBclientes.SelectSQL.ADD(´WHERE CPFCGC LIKE:ACHA ´);
dm.IBclientes.ParamByName(´ACHA´).AsString := EDIT1.Text + ´¬´;
dm.IBclientes.open;
8)
GOSTEI 0
Maicongabriel
09/05/2004
eu uso essa consulta assim
dm.IBclientes.close;
dm.IBclientes.SelectSQL.Clear;
dm.IBclientes.SelectSQL.Add(´SELECT * FROM CLIENTES´);
dm.IBclientes.SelectSQL.ADD(´WHERE CPFCGC LIKE:ACHA ´);
dm.IBclientes.ParamByName(´ACHA´).AsString := EDIT1.Text + ´¬´;
dm.IBclientes.open;
8)
[i:bb4619f259]Ta, e daí que você usa parâmetro? Re-lei a pergunta! O [b:bb4619f259]sistemp[/b:bb4619f259] quis tirar uma dúvida com relação a performance![/i:bb4619f259] :twisted:
GOSTEI 0