
Índice
Introdução
Nesse post iremos abordar sobre conexão de banco de dados utilizando MySQL e FireDAC no Delphi.
Conectar sua aplicação Delphi a um banco de dados é uma habilidade essencial para qualquer desenvolvedor. Neste artigo, vamos explorar como configurar uma conexão com um banco de dados MySQL utilizando a biblioteca FireDAC. FireDAC é uma poderosa biblioteca de acesso a dados que suporta uma ampla gama de bancos de dados e oferece alto desempenho. Vamos abordar desde a configuração inicial até um exemplo prático com código.
O que é FireDAC?
FireDAC é uma biblioteca de acesso a dados da Embarcadero para Delphi que oferece suporte a vários bancos de dados, incluindo MySQL, SQLite, Oracle, SQL Server e muitos outros. É conhecida por seu desempenho, facilidade de uso e recursos avançados, tornando-se a escolha ideal para desenvolver aplicações que requerem acesso a dados.
Preparativos
Antes de começar, certifique-se de que você tem o seguinte:
- Delphi instalado: Você precisará de uma versão do Delphi que suporte FireDAC. Link para download: https://www.embarcadero.com/br/products/delphi/starter/free-download
- Visual C++ Instalado: Instale a versão 32 bits. Link para download: https://learn.microsoft.com/pt-br/cpp/windows/latest-supported-vc-redist?view=msvc-170
- Servidor MySQL: Um servidor MySQL em execução, seja localmente ou em um servidor remoto, instale a versão de 32 bits 5.7.44. Link para download: https://dev.mysql.com/downloads/installer/
- Driver ODBC Instalado: Instale o driver de 32 bits versão 8.0.36. Link para download https://downloads.mysql.com/archives/c-odbc/
- FireDAC: Incluído nas versões mais recentes do Delphi. Se você está usando uma versão antiga, pode ser necessário instalá-lo separadamente. Link para download: https://www.embarcadero.com/br/products/rad-studio/firedac
Passo a Passo
Passo 1: Configurando o Windows
Crie uma variável de ambiente para apontar onde ficará a dll do mysql.
Windows
- Em Pesquisar, procure e selecione: Sistema (Painel de Controle)
- Clique no link Configurações avançadas do sistema.
- Clique em Variáveis de Ambiente. …
- Na janela Editar Variável de Sistema (ou Nova Variável de Sistema), especifique o valor da variável de ambiente PATH .

Caso essa configuração não funcionar, copie a libmysql.dll que está na pasta de instalação do MySQL Server e cole na pasta do executável do sistema.
Passo 2: Configurando o Banco de Dados MySQL
Primeiro, vamos criar um banco de dados MySQL para usar em nosso exemplo. Siga estas etapas:
- Abra o MySQL Workbench ou seu cliente MySQL preferido.
- Crie um novo banco de dados:
CREATE DATABASE exemplo_firedac; USE exemplo_firedac;
- Crie uma tabela de exemplo:
CREATE TABLE usuarios ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(100), email VARCHAR(100) );
- Insira alguns dados na tabela:
INSERT INTO usuarios (nome, email) VALUES ('Alice', 'alice@example.com'), ('Bob', 'bob@example.com');
Caso não saiba como instalar o MySql, veja o post: https://codedelphi.com/banco-de-dados-em-delphi/
Caso não saiba criar o banco de dados e as tabelas, veja o post: https://codedelphi.com/crud-em-delphi/
Passo 3: Configurando o Delphi
1- Crie um novo projeto Delphi.
2- Adicione os componentes necessários:
- Abra a paleta de componentes e adicione os seguintes componentes ao seu formulário:
TFDConnection
TDataSource
TFDQuery
TDBGrid
TFDGUIxWaitCursor
TFDPhysMySQLDriverLink
3- Configurar o TFDConnection:
- Selecione o componente
FDConnection1
e configure as seguintes propriedades no Object Inspector:DriverName
:MySQL
Params
: Clique no botão...
e configure os parâmetros de conexão, por exemplo:ini DriverID=MySQL Server=localhost Database=exemplo_firedac User_Name=root Password=sua_senha
4- Configurar o TFDQuery:
- Selecione o componente
FDQuery1
e configure as seguintes propriedades:Connection
:FDConnection1
SQL.Text
:SELECT * FROM usuarios
5- Configurar o TDataSource:
- Selecione o componente
DataSource1
e configure a propriedadeDataSet
paraFDQuery1
.
6- Configurar o TDBGrid:
- Selecione o componente
DBGrid1
e configure a propriedadeDataSource
paraDataSource1
.
Passo 4: Escrevendo o Código
Agora que os componentes estão configurados, vamos adicionar o código necessário para abrir a conexão e exibir os dados.
1- Abra a Unit1.pas e adicione o seguinte código no evento FormCreate
do formulário:
procedure TForm1.FormCreate(Sender: TObject); begin //Utilize essa linha para setar o caminho da dll do MySql. Caso sua conexão não funcione //Essa linha, pega a libmysql.dll da pasta do executável do sistema //Se a dll não estiver na pasta do executável, desabilite a linha, ou copie a dll para a pasta do executável. FDPhysMySQLDriverLink1.VendorLib := ExtractFilePath(Application.ExeName) + 'libmysql.dll'; try FDConnection1.Connected := True; FDQuery1.Open; except on E: Exception do ShowMessage('Erro ao conectar ao banco de dados: ' + E.Message); end; end;
2- Ainda na Unit1.pas adicione o seguinte código no evento FormDestroy
do formulário:
procedure TForm1.FormDestroy(Sender: TObject); begin FDQuery1.Close; //Fecha a tabela FDConnection1.Connected := False; //Encerra a conexão com o banco de dados end;
3- Compilando e Executando:
- Compile e execute o projeto. Se tudo estiver configurado corretamente, você verá os dados da tabela
usuarios
exibidos noDBGrid
.
Código completo – MySQL e FireDAC no Delphi
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MySQL, FireDAC.Phys.MySQLDef, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, FireDAC.VCLUI.Wait, Data.DB, FireDAC.Comp.UI, Vcl.Grids, Vcl.DBGrids, FireDAC.Comp.DataSet, FireDAC.Comp.Client; type TForm1 = class(TForm) FDConnection1: TFDConnection; DataSource1: TDataSource; FDQuery1: TFDQuery; DBGrid1: TDBGrid; FDGUIxWaitCursor1: TFDGUIxWaitCursor; FDPhysMySQLDriverLink1: TFDPhysMySQLDriverLink; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin //Utilize essa linha para setar o caminho da dll do MySql. Caso sua conexão não funcione //Essa linha, pega a libmysql.dll da pasta do executável do sistema //Se a dll não estiver na pasta do executável, desabilite a linha, ou copie a dll para a pasta do executável. FDPhysMySQLDriverLink1.VendorLib := ExtractFilePath(Application.ExeName) + 'libmysql.dll'; try FDConnection1.Connected := True; FDQuery1.Open; except on E: Exception do ShowMessage('Erro ao conectar ao banco de dados: ' + E.Message); end; end; procedure TForm1.FormDestroy(Sender: TObject); begin FDQuery1.Close; //Fecha a tabela FDConnection1.Connected := False; //Encerra a conexão com o banco de dados end; end.

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-MySQL-FireDAC
Conclusão
Neste artigo, exploramos como conectar uma aplicação Delphi a um banco de dados MySQL utilizando FireDAC. Configuramos o banco de dados, adicionamos e configuramos os componentes necessários no Delphi, e escrevemos o código para abrir a conexão e exibir os dados. FireDAC simplifica bastante o processo de acesso a dados, proporcionando uma interface poderosa e de alto desempenho.
Agora que você sabe como configurar uma conexão com MySQL utilizando FireDAC, você pode expandir essa base para criar aplicações mais complexas, adicionar funcionalidades como inserção, atualização e exclusão de dados, e muito mais. Continue explorando e experimentando com FireDAC e outras tecnologias Delphi para aprimorar suas habilidades de desenvolvimento.
Post Relacionados
Delphi para Android e iOS
Delphi Start
Programando em Delphi XE
Aprenda programar Delphi
Banco de Dados RAD Delphi
Delphi Programming Projects
Delphi com FireDac e mysql 8.0 não são compatíveis?
José, talvez o problema não seja o FireDac e sim a arquitetura que você está utilizando. O MySQL 8 só funciona para aplicações 64 bits independente do componente de conexão. Eu falo brevemente sobre isso no post “O Que é Banco de Dados e Como Ele Agrega no Desenvolvimento em Delphi” link: https://codedelphi.com/banco-de-dados-em-delphi/
Espero ter ajudado.