Olá a todos, tenho num aplicativo a instrução SQL "SELECT * FROM Tabela1 WHERE UPPER Nome LIKE 'Nome da Pessoa' " que retorna os registros do banco de dados cujos usuarios tem o nome parecido com o procurado. Como faço para que o programa mostre na tela (num label, por exemplo) quantos registros foram encontrados na busca?
Uma outra dúvida: tem como eu buscar uma certa expressão em 2 ou mais campos diferentes da mesma tabela? Por exemplo, tenho uma tabela com campos "telefone residencial", "telefone comercial" e "celular" e gostaria que o programa buscasse o numero digitado pelo usuario nos 3 campos da tabela.
Muito obrigado.
Página 1 de 1
Como contar os registros encontrados em uma busca usando SQL?
#2
Postou 06 novembro 2009 - 08:15
As TQuerys costumam ter uma propriedade RecordCount que retorna o número de registros que a consulta encontrou... quanto a outra dúvida, você pode pesquisar N campos de sua tabela no mesmo sql usando as cláusulas AND ou OR, dependendo do tipo de filtro que deseja encontrar. É recomendável que você dê uma estudada no básico das consultas sql, visto que esse tipo de pesquisa é básica.
[]'s
[]'s
#3
Postou 06 novembro 2009 - 19:22
É que no meu caso eu to usando componentes IBQuery para trabalhar com o Interbase, e neles não encontro essa propriedade recordcount, então acredito que deva haver algum meio de fazer isso "na unha".
Eu tentei usar o AND na linha de comando SQL mas acho que não o posicionei da maneira correta, e o programa não reconhece o comando.
Mesmo assim agradeço a atenção.
Eu tentei usar o AND na linha de comando SQL mas acho que não o posicionei da maneira correta, e o programa não reconhece o comando.
Mesmo assim agradeço a atenção.
#4
Postou 09 novembro 2009 - 12:17
olá doutor. deixa eu tentar te ajudar também, eu recomendaria para você o recordcount e o locate para resolver o seu problema a sintaxe do locate é assim:
Aonde:
'tel_comercial' = campo da tabela;
ds_telComercial.Text = Edit para pesquisar;
[loCaseInsensitive,loPartialKey] = Não diferenciar Maiúsculas e Minúsculas, Pegar parte do valor e tentar aproximar.
pode jogar esse código dentro do evento onchange, por exemplo, do Edit que ele vai aproximar.
Sobre você usar o IBQuery, e querer fazer na unha, como você falou que não encontrou, recomendaria você utilizar outro conector. mas de todo o caso se quiser usar uma query contando os valores a sintaxe é assim:
Espero ter ajudado.
Um grande abraço!
DataModule.Query.Locate('tel_comercial',ds_telComercial.Text,[loCaseInsensitive,loPartialKey]);Aonde:
'tel_comercial' = campo da tabela;
ds_telComercial.Text = Edit para pesquisar;
[loCaseInsensitive,loPartialKey] = Não diferenciar Maiúsculas e Minúsculas, Pegar parte do valor e tentar aproximar.
pode jogar esse código dentro do evento onchange, por exemplo, do Edit que ele vai aproximar.
Sobre você usar o IBQuery, e querer fazer na unha, como você falou que não encontrou, recomendaria você utilizar outro conector. mas de todo o caso se quiser usar uma query contando os valores a sintaxe é assim:
select COUNT(tel_comercial) FROM telefones
Espero ter ajudado.
Um grande abraço!
#5
Postou 10 novembro 2009 - 20:29
Birtz, em 06 novembro 2009 - 19:22 , disse:
É que no meu caso eu to usando componentes IBQuery para trabalhar com o Interbase, e neles não encontro essa propriedade recordcount, então acredito que deva haver algum meio de fazer isso "na unha".
Eu tentei usar o AND na linha de comando SQL mas acho que não o posicionei da maneira correta, e o programa não reconhece o comando.
Mesmo assim agradeço a atenção.
Eu tentei usar o AND na linha de comando SQL mas acho que não o posicionei da maneira correta, e o programa não reconhece o comando.
Mesmo assim agradeço a atenção.
Até onde sei, os TIBQuery tem a propriedade RecordCount sim (basta chamar via código por TIBQuery.RecordCount)... mas a forma como ela funciona está descrita neste link... infelizmente parece que ela só retorna os dados corretamente se varrer ao menos uma vez o retorno dos dados....
[]'s
Página 1 de 1


Entrar
Cadastre-se
Ajuda

Quote