Consulta em modo rapido
para fazer consultas de modo rápido, digamos tenho um edit e um dbgrid
tenho uma tabela clientes vinculado com dbgrip aí quando vou digitando no edit o nome de um dos clientes M -> no grid já mostra todos q começam com M, depois A, todos q começam com MA depois MAR todos q começam com MAR, como faço, da pra eu fazer assim
select * from cliente where Nome like ´´+Edit1.text+´¬´?
se for assim onde coloco esse código?
tenho uma tabela clientes vinculado com dbgrip aí quando vou digitando no edit o nome de um dos clientes M -> no grid já mostra todos q começam com M, depois A, todos q começam com MA depois MAR todos q começam com MAR, como faço, da pra eu fazer assim
select * from cliente where Nome like ´´+Edit1.text+´¬´?
se for assim onde coloco esse código?
Luiz_aquino
Curtidas 0
Respostas
Bruno Belchior
11/11/2004
coloque o evento OnChange do Edit (esse evento é disparado toda vez que ocorre uma alteração ´Change´ na propriedade Text do Edit)
mas aviso que isso pode te custar muita banda em rede (caso esteja usando) é melhor filtrar cada vez que o usuário teclar enter, ou seja quando ele digitar um nome e depois enter o programa traz todos os resultados possíveis... espero ter ajudado
with Query1 do begin Close; SQL.Text := ´select * from cliente where Nome like :ParNome´; ParByName(´ParNome´).AsString := Edit1.Text+´¬´; Open; end;
mas aviso que isso pode te custar muita banda em rede (caso esteja usando) é melhor filtrar cada vez que o usuário teclar enter, ou seja quando ele digitar um nome e depois enter o programa traz todos os resultados possíveis... espero ter ajudado
GOSTEI 0
Toninhonunes
11/11/2004
para fazer consultas de modo rápido, digamos tenho select * from cliente where Nome like ´´+Edit1.text+´¬´?
se for assim onde coloco esse código?
Isso é bonito, no entanto não recomendado para ambiente de rede, ainda mais se for trabalhar de forma remota, faça consulta com apenas uma restrição por vez, ficar disparando eventos no banco de dados, causa lentidão e se for utilizar em muitos terminais a performance vai cair muito.
No entanto, se for utilizar apenas em uma ou duas máquinas os efeitos colaterais não são tão percebidos.
T+
GOSTEI 0
Osocram
11/11/2004
Recomendo q utilize ClientDataSet pois ele guarda os dados em memoria.. e enton usar o Filter dele ou mesmo um locate p achar os dados... mto mais rapido. (principalmente em ambiente multiusuario ou ond use rede)
GOSTEI 0