Vous êtes sur la page 1sur 5

Delphi: Realizando Consultas/Pesquisas (iniciante)

http://www.linhadecodigo.com.br/artigo/714/delphi-realizando-consult

Seguir @linhadecodigo 3.004 seguidores
Seguir @linhadecodigo
3.004 seguidores
2.431
2.431
Seguir @linhadecodigo 3.004 seguidores 2.431
Pesquisar

Pesquisar

Pesquisar
@linhadecodigo 3.004 seguidores 2.431 Pesquisar HOME HOME DESENVOLVIMENTO DESENVOLVIMENTO FRONT-END

HOMEHOME

DESENVOLVIMENTODESENVOLVIMENTO

FRONT-ENDFRONT-END

Desenvolvimento - Delphi

BANCOBANCO DEDE DADOSDADOS

EMEM DESTAQUEDESTAQUE

TODOSTODOS

DE DE DADOS DADOS EM EM DESTAQUE DESTAQUE TODOS TODOS Delphi: Realizando Consultas/Pesquisas (iniciante) Neste

Delphi: Realizando Consultas/Pesquisas (iniciante)

Neste novo artigo vamos falar sobre consultas e pesquisa em banco de dados. Tenho recebido muitos e-mails de pessoas que estão iniciando em Delphi e estão encontrando uma certa dificuldade em realizar tal operação.

por Walbert Castro

169 60 0 27 0
169
60
0
27
0

Neste novo artigo vamos falar sobre consultas e pesquisa em banco de dados. Tenho recebido muitos e-mails de pessoas que estão iniciando em Delphi e estão encontrando uma certa dificuldade em realizar tal operação. Então mãos a obra.

1 - Pesquisando com FindKey, FindNearest e Locate.

Estas funções e procedimentos são utilizadas para pesquisar por informações dentro de tabelas utilizando os componentes TTable e TQuery.

A) FindKey - esta função pesquisa uma determinada informação exata dentro de um campo indexado ou chave primária, retornando True ou False para pesquisas encontradas ou não. Muito útil para quem ainda utiliza o velho paradox e dbase. Pode ser utilizado para procurar por código, numero de registro, numero de nota fiscal e etc.

Para nosso exemplo temos uma tabela Paradox com a seguinte estrutura:

exemplo temos uma tabela Paradox com a seguinte estrutura: DataBase Desktop Salve com o nome Empregado.db.E

DataBase Desktop

Salve com o nome Empregado.db.E coloque os seguintes dados.

Salve com o nome Empregado.db.E coloque os seguintes dados. Observe que o campo Código foi marcado

Observe que o campo Código foi marcado como chave primaria e é através deste campo de podemos utilizar as funções e Procedimentos de pesquisa.

No Delphi coloque os seguintes componentes no formulário:

Edit (Paleta Standard) Button (Paleta Standard) - Caption = Pesquisar Por Código DbGrid (Paleta Data Control) Table (Paleta BDE) DataSoucer (Paleta Data Access)

Seu formulário deve estar como mostrado abaixo:

PUBLIQUEPUBLIQUE

Publicidade

CURSOSCURSOS ONLINEONLINE

PUBLIQUE PUBLIQUE Publicidade CURSOS CURSOS ONLINE ONLINE REVISTAS DEVMEDIA SQL Magazine 112 Java Magazine 116 VER

REVISTAS DEVMEDIA

Publicidade CURSOS CURSOS ONLINE ONLINE REVISTAS DEVMEDIA SQL Magazine 112 Java Magazine 116 VER TODAS ASSINE

SQL Magazine 112

CURSOS ONLINE ONLINE REVISTAS DEVMEDIA SQL Magazine 112 Java Magazine 116 VER TODAS ASSINE TOP 10

Java Magazine 116

VER TODAS ASSINE
VER TODAS
ASSINE

TOP 10 - ARTIGOS

TOP 10 - AUTORES

 

1 Comandos básicos em SQL - insert, update, delete e select

2 HTML Básico

3 Guia rápido para consultas SQL

 

4 Menu em CSS - Menu dropdown horizontal com HTML5 e CSS3

5 Formato dos registros do Sintegra

 

6 HTML Avançado

7 Quanto vale o seu serviço? Aprenda a cobrar pelo seu trabalho.

 

8 Calendário em jQuery - Criando Calendários com DatePicker

9 Delphi: Realizando Consultas/Pesquisas (iniciante)

 

10 Instalando e Configurando o EasyPHP

 
 
VER TODOS
VER TODOS

Delphi: Realizando Consultas/Pesquisas (iniciante)

http://www.linhadecodigo.com.br/artigo/714/delphi-realizando-consult

No Componente Table vamos fazer associar com nossa tabela:

No Componente Table vamos fazer associar com nossa tabela:

No Componente Table vamos fazer associar com nossa tabela: DataBaseName - coloque o caminho onde se

DataBaseName - coloque o caminho onde se encontra sua tabela. No meu caso "C:\meus documentos". TableName - escolha a tabela Empregados.db IndexName - escolha o campo Código (Caso usa tabela só tenha uma chave primaria não é preciso informar nada em IndexName. A busca é feita diretamente pelo campo chave, caso contrario é necessário que se escolha qual o campo ser utilizado). Active - Coloque true.

No componente DataSource em DataSet escolha Table1 e no DbGrid em DataSource escolha

DataSource1.

Clique duas vezes no componente Button e digite o código abaixo:

Table1.FindKey([Edit1.Text]);

Execute o programa digite um código no edit e clique em pesquisar código para testar.

Caso você queira uma mensagem se a pesquisa não foi bem sucedida mude para o código abaixo:

If Not Table1.FindKey([Edit1.Text]) then ShowMessage("Informação não Encontrada"); B) FindNearest - Este procedimento pesquisa por informações parciais dentro de um campo chave ou indexado. Pode ser utilizada para procurar por nomes de pessoas, endereços e etc.

Para um exemplo prático vamos criar um índice secundário em nosso tabela. Abra a tabela Empregado.db com Database Desktop abra a estrutura e em Table Properties escolha Secondary Indexes clique em Define clique duas vezes no Campo Nome e clique no OK. Coloque no nome do nosso índice de iNome e salve a tabela.

no nome do nosso índice de iNome e salve a tabela. Volte para o Delphi no
no nome do nosso índice de iNome e salve a tabela. Volte para o Delphi no
no nome do nosso índice de iNome e salve a tabela. Volte para o Delphi no

Volte para o Delphi no componente Table em IndexName escolha nosso índice INome.

Delphi: Realizando Consultas/Pesquisas (iniciante)

http://www.linhadecodigo.com.br/artigo/714/delphi-realizando-consult

Coloque no formulário outro componente Button com o Caption Localizar Nome. Agora clique duas vezes no botão Localizar Nome e digite o código abaixo:

Table1.FindNearest([Edit1.Text]);

Como no FindNearest você pode informar apenas parte do nome desejado, por exemplo o nome ROSA da nossa tabela, como temos duas ROSA será mostrado a primeira no caso ROSA MARIA.

Execute o programa e faça um teste.

C) Locate - Esta função é bem diferente das outras enquanto FindKey e o FindNearest são utilizados em campos indexados o Locate pode ser utilizado com qualquer campo (String, Inteiros, Float, Data) mesmo que ele não seja um campo chave ou esteja indexado. Também é possível criar pesquisas com vários campos ao mesmo tempo.

Vamos a um exemplo:

No botão Pesquisar Nome vamos substituir o FindNearest pelo Locate. Nossa linha ficaria assim:

Table1.Locate("NOME",Edit1.Text,[ loPartialKey Onde:

]);

"NOME" - é o campo em que se deseja pesquisa. Edit1.Text - A informação pesquisada no caso o conteúdo no componente Edit. [loPartialKey] - Opção de pesquisa que pode ser loPartialKey que representa pesquisa parcial como no FindNearest e/ou loCaseInsensitive que diferencia letras Maiúsculas de Minúsculas.

Você pode usar uma mensagem de alerta caso a pesquisa não seja encontrada.

If not Table1.Locate("NOME",Edit1.Text,[ loPartialKey]) then ShowMessage("Informação não Encontrada"); 2 - Pesquisando com instruções SQL

Fazer pesquisas usando instruções SQL é muito melhor e mais rápido além de não precisamos de campos chaves ou indexados. Para isso temos que usar o componente TQuery da paleta BDE.

Coloque no formulário um componente TQuery e mude suas propriedades:

DataBaseName = coloque o caminha de onde se encontra sua tabela no meu caso "C:\meus documentos".

No DataSource mude o Dataset para Query1.

Todas as instruções são informadas na propriedade SQL do TQuery. Assim se queremos fazer uma consulta por determinado nome, por exemplo, teremos:

Select * from Empregado Where Nome = "ROSA MARIA" Order By NOME Onde Select * from Empregado - Refere-se a tabela que será utilizada e seus campos. Como estamos usando * estamos nos referindo a todos os campos da tabela. Porem é possível a penas especificar os campos que se deseja exemplo: Select Nome from Empregado.

Where Nome = "ROSA MARIA - A instrução where determina uma condição de pesquisa a uma ou vários campos no nosso caso no campo NOME.

Order By - Refere-se a qual campo da tabela será organizado seja em ordem crescente ou decrescente no nosso caso o campo NOME. Para organizamos em ordem decrescente baste no final colocamos a instrução DESC. Exemplo Order by NOME Desc. O Exemplo acima nos mostra uma consulta exata, vamos ver uma consulta parcial.

Select Nome From Empregado Where Nome Like "ROSA%" Order by Nome Veja que agora estamos utilizando o operador LIKE que exibe dados baseados em uma seqüência de caracteres.

O operador LIKE utiliza um coringa % para representarmos qualquer numero de caracter. Assim com a instrução acima teríamos o seguinte resultado.

Delphi: Realizando Consultas/Pesquisas (iniciante)

Delphi: Realizando Consultas/Pesquisas (iniciante) Assim podemos realizar diversos tipos de consultas, tais como: Select *

Assim podemos realizar diversos tipos de consultas, tais como:

Select * from Empregado Where NOME LIKE "%CIA%" Order by NOME O resultado seria:

http://www.linhadecodigo.com.br/artigo/714/delphi-realizando-consult

Bem aqui termino mais um artigo espero que estas dicas de como realizar consultas possam ajudar o pessoal novato no assunto Delphi.

Não esqueçam de mandar suas críticas e sugestões para novos artigos ok.

Até a próxima.

Walbert Castro - Trabalha como Coordenador de informática na revenda Ambev do Amapá, utiliza o Delphi desde a versão 1, onde já desenvolveu vários sistema usando os bancos de dados Interbase, Firebird, MySQL e Paradox. Possui conhecimentos em Delphi, Clipper, VBA, PHP e administração de Servidores Linux e Windows 2000.e sugestões para novos artigos ok. Até a próxima. 169 60 0 27 0 Leia também

169 60 0 27 0
169
60
0
27
0

Leia também

Multicast Events no Delphi

Delphi

Utilizando o componente dxWindowAlertManager da DevExpress

Delphi

Classe Genérica para Transformar Tipos ENUM Para TStrings em Delphi

Delphi

Desenvolvendo FrameWork em Delphi

Delphi

Criação de Componente Vinculado a Lista Encadeada

Delphi

Delphi: Realizando Consultas/Pesquisas (iniciante)

http://www.linhadecodigo.com.br/artigo/714/delphi-realizando-consult

Linha de Código faz parte do grupo Web-03

Política de privacidade e de uso | Anuncie | Cadastre-se | Fale conosco

Servidor não encontrado O Firefox não conseguiu localizar www.facebook.com. Verifique se há erro de digitação
Servidor não encontrado
O Firefox não conseguiu localizar www.facebook.com.
Verifique se há erro de digitação no endereço. Como
ww.example.com em vez de www.example.com

© 2013 Linha de Código. Todos os direitos reservados