Conexão com Banco de Dados Utilizando MySQL e FireDAC no Delphi

MySQL e FireDAC no Delphi

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:

  1. 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
  2. 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
  3. 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/
  4. Driver ODBC Instalado: Instale o driver de 32 bits versão 8.0.36. Link para download https://downloads.mysql.com/archives/c-odbc/
  5. 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

  1. Em Pesquisar, procure e selecione: Sistema (Painel de Controle)
  2. Clique no link Configurações avançadas do sistema.
  3. Clique em Variáveis de Ambiente. …
  4. Na janela Editar Variável de Sistema (ou Nova Variável de Sistema), especifique o valor da variável de ambiente PATH .
MySQL e FireDAC no Delphi
Painel de Controle, Sistema, Configurações Avançadas do Sistema, Variáveis de Ambiente …

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:

  1. Abra o MySQL Workbench ou seu cliente MySQL preferido.
  2. Crie um novo banco de dados:
   CREATE DATABASE exemplo_firedac;
   USE exemplo_firedac;
  1. Crie uma tabela de exemplo:
   CREATE TABLE usuarios (
       id INT AUTO_INCREMENT PRIMARY KEY,
       nome VARCHAR(100),
       email VARCHAR(100)
   );
  1. 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 propriedade DataSet para FDQuery1.

6- Configurar o TDBGrid:

  • Selecione o componente DBGrid1 e configure a propriedade DataSource para DataSource1.

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 no DBGrid.

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.
MySQL e FireDAC no Delphi
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-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


Livros + e-books

Delphi para Android e iOS

codedelphi.com
codedelphi.com

Delphi Start

codedelphi.com

Programando em Delphi XE

Aprenda programar Delphi

Banco de Dados RAD Delphi

Delphi Programming Projects

3 comentários em “Conexão com Banco de Dados Utilizando MySQL e FireDAC no Delphi”

Deixe um comentário