 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
CENTURYINF Membro Junior

Registrado: Sexta-Feira, 19 de Fevereiro de 2010 Mensagens: 364
|
Enviada: Sex Set 02, 2011 10:19 am Assunto: Pesquisa Nome com SQL |
|
|
Moderadores do Active-Delphi escreveu: |
Tópico editado por: johnny-walker
Motivo: Regras do fórum
Título Original: PESQUISA NOME COM SQL |
Ola amigos
Tenho uma tabela em SQL ex: nome,endereco,bairro..etc
tenho um edit no form, e preciso que quando for digitando o nome
va pesquisando e me mostrando na tabela
semelhante ao comando findnearest com tabela paradox
no paradox uso: tabela.findnearest([edit1.text]);
desculpem estou migrando um programa para sql
Abraços |
|
Voltar ao Topo |
|
 |
felipehts Novato


Registrado: Quarta-Feira, 20 de Julho de 2011 Mensagens: 71
|
Enviada: Sex Set 02, 2011 10:35 am Assunto: Re: PESQUISA NOME COM SQL |
|
|
CENTURYINF escreveu: | Ola amigos
Tenho uma tabela em SQL ex: nome,endereco,bairro..etc
tenho um edit no form, e preciso que quando for digitando o nome
va pesquisando e me mostrando na tabela
semelhante ao comando findnearest com tabela paradox
no paradox uso: tabela.findnearest([edit1.text]);
desculpem estou migrando um programa para sql
Abraços |
o sql fica +/- assim:
Código: |
SELECT campo_tabela FROM tabela WHERE campo_tabela LIKE '%'+edit1.text+'%'
|
sendo assim 'jogue' o resultado da pesquisa acima na sua tabela, essa consulta deve ser feita cada tecla digitada, ou seja no evento keypress/keydown
abrasss |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sex Set 02, 2011 10:41 am Assunto: |
|
|
Confira um exemplo no tópico que segue:
http://www.activedelphi.com.br/forum/viewtopic.php?t=67670&highlight=
Dos exemplos do tópico que citei acho melhor o que utiliza parâmetro.
obs: se o componente não for o ADOQuery remova o Parameters, ficando somente ParamByName
Espero que ajude.
Editado pela última vez por imex em Seg Fev 26, 2024 11:54 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
russo_bradock Membro Junior


Registrado: Quinta-Feira, 14 de Dezembro de 2006 Mensagens: 335
|
Enviada: Sáb Set 03, 2011 10:00 pm Assunto: |
|
|
Bom, a ideia de buscar a cada letra digitada é ruim, dependendo da quantidade de registros que voce tiver em seu banco. Imagine ai um cadastro de clientes com mais de 100 mil registros, coloca ai um acesso online e bum, desastre a vista. Recomendo pra ti um botão para o usuário determinar quando fará a busca ou ainda no evento onExit do seu edit.
Quanto ao Comando, voce pode usar os esquemas citados pelos irmãos acima que estarão corretos para ti.
Abraço. |
|
Voltar ao Topo |
|
 |
felipehts Novato


Registrado: Quarta-Feira, 20 de Julho de 2011 Mensagens: 71
|
Enviada: Dom Set 04, 2011 10:25 am Assunto: |
|
|
russo_bradock escreveu: | Bom, a ideia de buscar a cada letra digitada é ruim, dependendo da quantidade de registros que voce tiver em seu banco. Imagine ai um cadastro de clientes com mais de 100 mil registros, coloca ai um acesso online e bum, desastre a vista. Recomendo pra ti um botão para o usuário determinar quando fará a busca ou ainda no evento onExit do seu edit.
Quanto ao Comando, voce pode usar os esquemas citados pelos irmãos acima que estarão corretos para ti.
Abraço. |
Claro que não vai buscar TODOS os registros a cada consulta, seria "loucura" rs, para isso existe 'limitador de consulta', no caso do Firebird bsta colocar no final da sql o número que você que de retorno da consulta, assim 'ROWS 5', pronto a cada consulta só irá retornar as 5 primeiras linhas referente ao que foi digitado...... |
|
Voltar ao Topo |
|
 |
russo_bradock Membro Junior


Registrado: Quinta-Feira, 14 de Dezembro de 2006 Mensagens: 335
|
Enviada: Dom Set 04, 2011 10:48 am Assunto: |
|
|
hehe, não vi o termo loucura no meu post mas tudo bem.
Mesmo com o limitador irmão, fica estranho de se fazer. Imagina tentando buscar por nome fazendo um limite de 10 linhas de retorno, ai voce vai e digita MARIA, vai ter um monte no banco né, sendo necessário para trazer a MARIA que você quer ir digitando o restante do nome dela, tipo MARIA JOSE DA SILVA. Sendo assim, somente com esse nome, se usar a busca no onKeyPress seria realizado no banco 20 consultas que no caso é a quantidade de caracteres do nome da MARIA.
felipehts, se deu a entender que tive a intenção de desrespeitar sua opnião anteriormente peço desculpas, não tive essa intenção. |
|
Voltar ao Topo |
|
 |
felipehts Novato


Registrado: Quarta-Feira, 20 de Julho de 2011 Mensagens: 71
|
Enviada: Dom Set 04, 2011 11:49 am Assunto: |
|
|
russo_bradock escreveu: | hehe, não vi o termo loucura no meu post mas tudo bem.
Mesmo com o limitador irmão, fica estranho de se fazer. Imagina tentando buscar por nome fazendo um limite de 10 linhas de retorno, ai voce vai e digita MARIA, vai ter um monte no banco né, sendo necessário para trazer a MARIA que você quer ir digitando o restante do nome dela, tipo MARIA JOSE DA SILVA. Sendo assim, somente com esse nome, se usar a busca no onKeyPress seria realizado no banco 20 consultas que no caso é a quantidade de caracteres do nome da MARIA.
felipehts, se deu a entender que tive a intenção de desrespeitar sua opnião anteriormente peço desculpas, não tive essa intenção. |
não parceiro você entendeu errado, quando disse 'loucura', foi imaginando tal situação no meu aplicativo por exemplo..... você não me desrespeitou não, foi a sua opinião, nada mais.... tranquilo ..
Tenho um sistema aqui de nota fiscal eletrônica, e ele faz exatamente isso...busca cliente, produto, tranpostadora...... posso ficar digitando sem parar que não da nenhuma lentidão, porque a consulta retorna apenas 5 linhas, e a cada consulta libera a 'query', bom no programa aqui ficou tranquilo...... mas depende de cada aplicação e seu uso...etc..... |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Dom Set 04, 2011 12:53 pm Assunto: |
|
|
Também não gosto de utilizar no onkeypress para pesquisa, prefiro que quando o usuário terminar de digitar ele mesmo pressione o enter e inicie a pesquisa, isto evita que quando há muita concorrência haja pesquisas desnecessáiras ao banco sem o usuário ter terminado de digitar o que quer.
Também limito o nnúmero de caracteres mínimos para habilitar o botão de pesquisa, neste caso utilizo 3 caracteres.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Seg Set 05, 2011 12:00 pm Assunto: |
|
|
johnny-walker escreveu: | Também não gosto de utilizar no onkeypress para pesquisa, prefiro que quando o usuário terminar de digitar ele mesmo pressione o enter e inicie a pesquisa, isto evita que quando há muita concorrência haja pesquisas desnecessáiras ao banco sem o usuário ter terminado de digitar o que quer.
Também limito o nnúmero de caracteres mínimos para habilitar o botão de pesquisa, neste caso utilizo 3 caracteres.
bye |
concordo. aqui meu cadastro é de entidades (clientes, fornecedores, transport, funcionarios....) imagina o tamanho do cadastro
e so faco a pesquisa qdo o usuario tecla enter. so nao limitei o numero de caracteres pq todos ja estao acostumados a digitar pelo menos o primeiro nome.
a pesquisa demora um pouco mais (mas é questao de segundos), qdo uso por exemplo LIKE "%MARIA%", pq assim nao usa indice _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|