![]() |
Banco de Dados Delphi |
Índice
Introdução
O desenvolvimento de software envolve diversas ferramentas e técnicas que possibilitam a criação de aplicações robustas e eficientes. Um dos elementos mais importantes nesse processo é o banco de dados. Mas o que é um banco de dados e como ele agrega valor ao desenvolvimento em Delphi? Vamos explorar esses conceitos de maneira clara e acessível.
O Que é Banco de Dados?
Um banco de dados é um sistema organizado que permite armazenar, gerenciar e recuperar informações de forma eficiente. Ele é essencial para aplicações que necessitam lidar com grandes volumes de dados, como sistemas de gerenciamento de estoque, aplicações financeiras, sistemas de saúde, entre outros.
Os bancos de dados são estruturados em tabelas, que contêm linhas (ou registros) e colunas (ou campos). Cada tabela armazena informações sobre um determinado assunto, e as relações entre essas tabelas permitem que os dados sejam organizados de forma lógica e acessível.
Tipos de Bancos de Dados
Existem diversos tipos de bancos de dados, sendo os mais comuns:
- Bancos de Dados Relacionais: Utilizam tabelas para organizar os dados e relações entre essas tabelas. Exemplos incluem MySQL, PostgreSQL, SQL Server e Oracle.
- Bancos de Dados NoSQL: Projetados para armazenar grandes volumes de dados não estruturados. Exemplos incluem MongoDB, CouchDB e Cassandra.
- Bancos de Dados em Memória: Armazenam os dados na memória RAM para acesso mais rápido. Exemplos incluem Redis e Memcached.
Como os Bancos de Dados Agregam Valor ao Desenvolvimento em Delphi
Delphi é uma poderosa linguagem de programação orientada a objetos que facilita o desenvolvimento de aplicações de alta performance para Windows e outras plataformas. A integração com bancos de dados é uma das suas características mais fortes, proporcionando diversas vantagens:
- Gerenciamento Eficiente de Dados: Com bancos de dados, você pode armazenar, gerenciar e recuperar grandes volumes de dados de forma eficiente. Isso é crucial para aplicações que precisam lidar com informações complexas e volumosas.
- Escalabilidade: Utilizando bancos de dados, suas aplicações podem crescer em termos de volume de dados e número de usuários. Isso é essencial para atender a demanda de aplicações empresariais e comerciais.
- Segurança: Bancos de dados modernos oferecem recursos avançados de segurança, como autenticação, criptografia e controle de acesso, garantindo que os dados sensíveis estejam protegidos contra acessos não autorizados.
- Confiabilidade: Bancos de dados garantem a integridade e a consistência dos dados através de transações e backups regulares. Isso é fundamental para evitar perda de dados e garantir a continuidade dos negócios.
- Desempenho: Com a otimização adequada, os bancos de dados podem fornecer respostas rápidas a consultas complexas, melhorando significativamente o desempenho das suas aplicações.
Integração de Delphi com Bancos de Dados
Delphi oferece várias ferramentas e componentes que facilitam a integração com diferentes tipos de bancos de dados. Vamos explorar um exemplo prático de como conectar Delphi a um banco de dados relacional, como o MySQL.
Passo a Passo: Integração com ADODB
Passo 1: Configuração do Ambiente
Certifique-se de ter o MySQL instalado e um banco de dados configurado. Você também precisa do driver ODBC para MySQL instalado no seu sistema. Recomendo que instale o MySql e depois o driver ODBC dos links abaixo, o Mysql e instale a versão full que contém o servidor e o cliente, já o ODBC pode ser a versão Typical.
A versão usada do MySql para esse projeto é a 5.7.44, que já vem com amostras e exemplos de banco de dados, nesse caso iremos usar o banco de dado world e a tabela city. A versão do driver OBDC é a 8.0.36 pois suporta windows 32bits, caso você for utilizar a mais recente, terá que rodar sua aplicação do Delphi em 64bits.
Caso a plataforma do seu Delphi / Driver ODBC não forem compatíveis, a seguinte mensagem será apresentada: 'Project Project1.exe raised exception class EOleException with message '[Microsoft][ODBC Driver Manager] O DSN especificado contém uma incompatibilidade de arquiteturas entre o Driver e o Aplicativo'. Para corrigir os dois precisam estar compatíveis, os dois precisam ser 32bits ou 64 bits.
Links para download:
Instale MySql: https://dev.mysql.com/downloads/installer
Instale ODBC: https://downloads.mysql.com/archives/c-odbc/
Passo 2: Configurando a Fonte de Dados ODBC
- Abra o Painel de Controle e vá para Ferramentas Administrativas.
- Selecione Fontes de Dados (ODBC) em Ferramentas do Windows.
- Adicione uma nova fonte de dados ODBC para o MySQL, fornecendo os detalhes do servidor, nome do banco de dados, usuário e senha.
![]() |
Adicionando o driver ODBC no Windows após a instalação. |
Passo 3: Criando um Novo Projeto Delphi
- Abra o Delphi e crie um novo projeto VCL Forms Application.
- Adicione os seguintes componentes ao formulário:
TADOConnection
,TADOQuery
,TDataSource
,TDBGrid
,TButton
.
Passo 4: Configurando a Conexão
Configure o componente TADOConnection
para se conectar ao banco de dados MySQL via ODBC:
- Defina a propriedade
ConnectionString
para a string de conexão ODBC. Algo como:
ADOConnection1.ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=MySql ODBC 32 Ansi;Initial Catalog=world';
- Defina a propriedade
LoginPrompt
paraFalse
se não quiser que o prompt de login apareça. - Defina a propriedade DefaultDatabase para world.
![]() |
Configuração da conexão no Delphi. |
Passo 5: Executando uma Consulta
Configure o TADOQuery
para executar uma consulta SQL:
- Defina a propriedade
Connection
doTADOQuery
paraADOConnection1
.
Passo 6: Ligando os Dados ao Grid
Conecte o TDataSource
ao TADOQuery
e o TDBGrid
ao TDataSource
:
- Defina a propriedade
DataSet
doTDataSource
paraADOQuery1
. - Defina a propriedade
DataSource
doTDBGrid
paraDataSource1
.
Passo 7: Adicionando Funcionalidade ao Botão
Adicione o seguinte código ao evento OnClick
do botão para executar a consulta e exibir os dados no grid:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'SELECT * FROM city';
ADOQuery1.Open;
end;
Passo 8: Adicionando Funcionalidade a Criação do Formulário
Adicione o seguinte código ao evento FormCreate do formulário para se conectar ao banco de dados:
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection1.Connected := False; //Fecha a conexão caso esteja aberta
ADOConnection1.Connected := True; //Abre a conexão
end;
Passo 9: Adicionando Funcionalidade ao Fechamento do Formulário
Adicione o seguinte código ao evento FormClose do formulário para se desconectar o banco de dados ao fechar a tela:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ADOConnection1.Connected := False; //Fecha a conexão ao fechar o formulário
end;
Código Completo do Projeto
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close; //Fecha a consulta caso esteja aberta
ADOQuery1.SQL.Text := 'SELECT * FROM city'; //Define a consulta na tabela city para trazer todos os registros
ADOQuery1.Open;// Abre a consulta que será exibida na dbgrid
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ADOConnection1.Connected := False; //Fecha a conexão ao fechar o formulário
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection1.Connected := False; //Fecha a conexão caso esteja aberta
ADOConnection1.Connected := True; //Abre a conexão
end;
end.
Veja abaixo a Ilustração do projeto:
![]() |
Ilustração do projeto. |
Código fonte do exemplo
Você pode fazer o download do exemplo do projeto através do repositório do github:
https://github.com/Gisele-de-Melo/Conexao-ADODB-MySql-Simples
Conclusão
Usar o componente ADODB para se conectar a um banco de dados MySQL em Delphi é uma maneira eficiente de gerenciar e acessar dados. ADODB oferece uma interface poderosa e flexível para trabalhar com bancos de dados, permitindo que você crie aplicações robustas e escaláveis. Com o exemplo prático acima, você pode começar a explorar a integração de Delphi com bancos de dados usando ADODB e desenvolver suas próprias soluções inovadoras. Muitos projetos legado ainda utilizam conexão com ADODB, por isso é bom você saber como funciona, pois provavelmente vai esbarrar por ela.
Espero que este guia tenha sido útil para entender como usar ADODB no Delphi. Continue aprendendo e experimentando com diferentes componentes e bancos de dados para aprimorar suas habilidades e criar aplicações cada vez melhores.
Nenhum comentário:
Postar um comentário