Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
cmelocpv Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
Registrado: Segunda-Feira, 10 de Novembro de 2014 Mensagens: 129
|
Enviada: Sex Fev 14, 2020 9:01 pm Assunto: Consulta dentro do edit |
|
|
Boa noite, pessoal estou precisando de uma ajuda para fazer uma consulta dentro de um edit.
Gostaria de digitar dentro do edit uma pesquisa pelo inicio da string.
o codigo padrao é VVA0001A200, VVA0001C300 e assim por diante.
ex.: Pesquisar tudo que for VVA0001
no edit digitaria o que... VVA0001* ou ? e o select devolveria todos os codigo que tenham esse inicio
como teria que fazer no select para executar esta pesquisa.
obrigado |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
imex Moderador
![Moderador Moderador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/moderador.gif)
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Fev 14, 2020 10:12 pm Assunto: |
|
|
Boa noite,
Nesse caso você pode utilizar o Like com o curinga '%'.
Utilizando parâmetro na query para evitar SQL injection a query ficaria mais ou menos dessa forma:
Código: | select * from Tabela where Campo like :Campo |
E o código para passar o valor digitado no edit e acrescentar o curinga para o parâmetro:
Código: | Query1.ParamByName('Campo').AsString := Edit1.Text + '%'; |
Espero que ajude
Editado pela última vez por imex em Ter Out 03, 2023 3:04 pm, num total de 1 vez |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
cmelocpv Aprendiz
![Aprendiz Aprendiz](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star2.gif)
Registrado: Segunda-Feira, 10 de Novembro de 2014 Mensagens: 129
|
Enviada: Sex Fev 14, 2020 10:52 pm Assunto: |
|
|
Obrigado, vou testa aqui.. |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
mrjorio Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Segunda-Feira, 24 de Setembro de 2012 Mensagens: 85
|
Enviada: Seg Mar 09, 2020 11:36 am Assunto: |
|
|
Talvez tenha que colocar o Quoted antes de passar o parâmetro:
Código: | Query1.ParamByName('Campo').AsString := Quoted(Edit1.Text + '%'); |
Tive um problema parecido aqui utilizando o filter e resolveu assim.
FA
imex escreveu: | Boa noite,
Nesse caso você pode utilizar o Like com o curinga '%'.
Utilizando parâmetro na query para evitar SQL injection a query ficaria mais ou menos dessa forma:
Código: | select * from Tabela where Campo like :Campo |
E o código para passar o valor digitado no edit e acrescentar o curinga para o parâmetro:
Código: | Query1.ParamByName('Campo').AsString := Edit1.Text + '%'; |
Espero que ajude
|
|
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
strak2012 Colaborador
![Colaborador Colaborador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/colaborador.gif)
![](images/avatars/2276652e81dfb2e401.jpg)
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Qua Mar 11, 2020 12:02 am Assunto: |
|
|
Já eu não usaria o like %, pq entendo a pesquisa que pretende fazer.
Se usar o like vai causar lags caso o tabela possua muito registros.
A ideia passa mesmo em realizar a consulta por completo antes que o usuário digite algo no edit, está consulta deve ser previamente amarzenada em algum recurso temporário e servirá como base para quando se digita algo no edit seja realizado o filtro.
É como os contatos telefônico de sua agenda no smartphone inicialmente a lista se apresenta por completa, mais ao digitar no edit algo é filtrado deixando amosta apenas os que começa com o que foi digitado.
Este tipo de consulta trata apenas de duas lista uma completa e uma outra que foi filtrada.
Pense no assunto qualquer dúvida vai colocando ela que vou tentando explanar.
Abraços. _________________ Tudo podemos quando tudo sabemos! |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
|