Criando Consultas com ADOQuery no Delphi
O banco utilizado é Access, mas a lógica se aplica em qualquer banco.
Componentes:
- ADOConnection
- ADOQuery
- DataSource
- DBGrid
- Edit
- Button
Tabela: tbLogin
Campos: id e usuário
Dados:
- Buscar Usuário e Mostrar no DBGrid:
Realiza a busca e exibe o Usuário encontrado no DBGrid.
Formulário Principal
Adicione um novo Form. ( File » New » Form – Delphi for Win32 )
Renomeie o nome do Form1 para frmPrincipal
Adicione os seguintes Componentes das Paletas: Standard, Data Access, dbGo e Data Controls:
Componente | Name | Caption | Text |
---|---|---|---|
Edit1 | edtUsuario | --- | Vazio |
Button1 | btnBusca | Busca | --- |
DBGrid1 | DBGrid | --- | --- |
ADOConnection1 | ADOConnection | --- | --- |
ADOQuery1 | ADOQuery | --- | --- |
DataSource1 | DataSource | --- | --- |
Altere o componentes da Paleta: dbGo ( ADOConnection ) e os outros das paletas Data Access e Data Controls deixe sem fazer nada, pois serão feitos no botão busca:
Componente | Instruções |
---|---|
ADOConnection | Conecte o banco Access; LoginPrompt = False |
ADOQuery | --- |
DataSource | --- |
DBGrid | --- |
Imagem:
Adicionando o Código no Botão Busca (btnBusca)
ADOQuery.Connection := ADOConnection; //* Conecta o ADOQuery a Conexão Access ADOQuery.Close; //* Fecha o ADOQuery ADOQuery.SQL.Text := 'SELECT * FROM tbLogin WHERE Usuario = "'+edtUsuario.Text+'" '; //* Query ADOQuery.Open; //* Abre o ADOQuery if ADOQuery.RecordCount > 0 then //* Se existir exiba no DBGrid begin DBGrid.DataSource := DataSource; //* Mostra no DBGrid end else //* Senão informe que não existe begin ShowMessage('Usuário não existe!'); end; end;
Exemplos:
1. Se existir: Exiba no DBGrid
2. Se não existir: Exibe o alerta “Usuário não existe!”