Atenção: para fazer a pesquisa digite o nome que deseja pesquisar no Edit.
1)Crie um formulário e salve (altere largura e altura )
2)Coloque o componente: GroupBox
a.Coloque o caption do GroupBox : Localizar
3)Coloque um Edit
4)Coloque DBGrid dentro do GroupBox, configure o DBGrid:
a.Clique no DBGrid e no Object Inspector selecione DataSource e aponte para a fonte da tabela desejada
b.Botão direito: Columns Editor (sobre o DBGrid)
c.Na janela que se abrir clique no botão: Add all fields
d.Apague todos os campos: deixe somente (cod e nome)
e.Clique sobre o campo cod e selecione ao lado Title - Caption e digite Código
f.Clique sobre o campo nome e selecione ao lado Title – Caption e digite Nome
5)Agora coloque um BitBtn, configure:
a.Glyph, na janela que se abrir clique no botão Load
b.Na janela localize a pasta Buttons e escolha uma imagem
c.Caption: Ok
Obs.: Esse layout ficará assim:
6)Salve e teste
7)Dê um duplo clique no Botão e adicione o código abaixo (entre Begin e end):
a.Edit1.Text := ' '; //Observe se o seu Edit é Edit1
b.FrmLocalizarAluno.Close; //FrmLocalizarAluno é nome do meu formulário. No seu deve ser indicado o nome que está na propriedade Name
8)Salve
9)Dê um clique em Edit1
10)Dê um clique em Events na Object Inspector
11)Dê um clique duplo em OnChange, entre Begin e end, digite o código abaixo:
a.if Edit1.Text <> ' ' then
b.Dm_gestao.DataModule2.Tb_aluno.FindNearest([Edit1.Text]); // Dm_gestao, DataModule2 e Tb_aluno são nomes do meus componentes. Aqui deve ser indicado os nomes dos seus componentes.
12)Salve
13)Dê um clique em Edit1
14)Dê um clique em Events na Object Inspector
15)Dê um clique duplo em OnEnter, entre Begin e end, digite o código abaixo:
a.Dm_gestao.DataModule2.Tb_aluno.IndexName:='IndAluNome'; // IndAluNome é o nome de um índice que deve ser criado no MySql antes de executar este código, caso contrário, o Delphi gera um erro de índice. Coloque aqui no nome do índice que você criou no MySql.
16)Até aqui tudo Ok. Agora vamos criar o índice no MySql para que possamos fazer pequisas pelo campo nome.
17)Abra o console do MySql (Dos)
18)Acesse seu banco de dados (use)
19)Se sua tabela possuir um campo chamado NOME, para um criar um índice para ele, ou seja, para que a tabela possa ser organizada também pelo NOME e não somente pelo COD, digite o código abaixo:
a.create index IndGup on grupo(nome_grupo);
i.IndGup: nome desejado pode ser qualquer nome
ii.Grupo: nome da tabela que vai ser indexada
iii.nome_grupo: nome do campo que vai ser indexado na tabela grupo, ou seja, indexando a tabela grupo pelo campo nome_grupo, posso fazer pesquisa pelos nomes dos grupos.
iv.O nome desse índice deve ser colocado no lugar de ‘IndAluNome’.
20)Pronto. Agora pode testar o código Delphi.
Atenção: para fazer a pesquisa digite o nome que deseja pesquisa no Edit.
Podemos fazer pesquisa pela chave primária. Mas, por exemplo, um aluno não é chamado pelo seu código e sim pelo seu nome, então, deve ser criado um índice para que ele possa ser localizado pelo nome e não pelo código.
Valeu. Espero ter ajudado!
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário
Comentar