Menu

Tradução

Português English Español Français

Conexão com Banco de Dados Utilizando Microsoft SQL Server e FireDAC no Delphi

Nesse post iremos abordar sobre conexão de banco de dados utilizando Microsoft SQL Server e FireDAC no Delphi.

 

Microsoft SQL Server e FireDAC no Delphi
Representação do FireDAC + Microsoft SQL Server.

Introdução

Nesse post iremos abordar sobre conexão de banco de dados utilizando Microsoft SQL Server 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 Microsoft SQL Server 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.

Observação: Esse post não tem o intuito de ensinar como fazer a instalação e configuração do SQL Server, mas sim como fazer a conexão com o mesmo através do Delphi.

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, Microsoft 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.

O que é Microsoft SQL Server

O Microsoft SQL Server é um sistema de gerenciamento de banco de dados relacional (RDBMS). Ele foi criado pela Microsoft em 1988 e é usado por empresas de diversos segmentos, como bancos, indústrias e instituições governamentais. 

O SQL Server permite armazenar e recuperar dados, além de garantir a precisão e a integridade das informações. 

Algumas das principais características do SQL Server são:

  • Segurança: O SQL Server usa criptografia para garantir que os dados só possam ser alterados ou visualizados por usuários autorizados. 
  • Integridade: O SQL Server usa controles para evitar inconsistências que possam inviabilizar o uso das informações. 
  • Concorrência: O SQL Server permite que mais de um usuário acesse a mesma tabela ao mesmo tempo. 
  • Desempenho otimizado: O SQL Server tem recursos de otimização de consultas, índices e armazenamento em cache. 

O SQL Server pode ser instalado no Windows ou Linux, ou implantado em uma máquina virtual do Azure. 

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. Servidor SQL Server: Um servidor Servidor SQL Server em execução, seja localmente ou em um servidor remoto, você pode utilizar o SQL Server 2022 Express que é uma versão gratuita, e instalar a versão básica que é a que estaremos utilizando nesse artigo. Link para download: https://www.microsoft.com/pt-br/sql-server/sql-server-downloads
  3. SQL Server Management Studio (SSMS): é um aplicativo da Microsoft que permite gerenciar o SQL Server. Ele fornece uma interface gráfica do usuário (GUI) e um conjunto de ferramentas para configurar, monitorar e administrar bancos de dados e instâncias do SQL Server. Link para download: https://learn.microsoft.com/pt-br/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16
  4. Drivers ODBC e JDBC: Instale os drivers ODBC e JDBC caso necessário. Link para download https://www.microsoft.com/pt-br/sql-server/sql-server-downloads
  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

Veja abaixo as ilustrações das páginas de download do SQL Server e Ferramentas, disponíveis no dia 31/01/2025:

SQL Server Express:

Ilustração da tela de download do SQL Server Express.

SQL Server Management Studio (SSMS):

Ilustração da tela de download do SQL Server Management Studio (SSMS).

Drivers ODBC e JDBC:

Ilustração da tela de download dos conectores ODBC e JDBC.

Passo a Passo

Passo 1: Configurando o Banco de Dados Microsoft SQL

Primeiro, vamos criar um banco de dados SQL para usar em nosso exemplo. Siga estas etapas:

  1. SQL Server Management Studio.
  2. Conecte-se ao servidor instalado, no meu caso estou utilizando autenticação pelo Windows e com criptografia opcional, veja o exemplo abaixo:
Ilustração da conexão ao servidor SQL Server através do Management Studio.

  1. Após conectar no servidor, abra uma nova consulta, insira os comandos abaixo e execute. Esses comandos irão criar um banco de dados chamado codedelphi.
Delphi

CREATE DATABASE codedelphi; --cria um banco de dados chamado codedelphi
   USE codedelphi; --conecta ao banco de dados codedelphi
  

Veja a ilustração:

Ilustração da criação do banco de dados de exemplo.

  1. Crie uma tabela de exemplo, execute o código abaixo do mesmo jeito que criou o banco de dados. O Código abaixo cria uma tabela de usuários com os campos 'nome' e 'email', e uma chave-primária 'id' autoincremento :
Delphi

CREATE TABLE usuarios (
    id INT IDENTITY(1,1) PRIMARY KEY,
    nome VARCHAR(100),
    email VARCHAR(100)
);
  
  1. Insira alguns dados na tabela, execute o código abaixo do mesmo jeito que criou o banco de dados:
Delphi

INSERT INTO usuarios (nome, email) VALUES ('Alice', 'alice@example.com'), ('Bob', 'bob@example.com');
  

Passo 2: 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
    • TFDPhysMSSQLDriverLink

3- Configurar o TFDConnection:

  • Selecione o componente FDConnection1 e configure as seguintes propriedades no Object Inspector:
    • DriverName: MSSQL
    • Params: Clique no botão ... e configure os parâmetros de conexão, por exemplo:
      ini DriverID=MSSQL Server=seuservidor Database=codedelphi User_Name=seuusuario Password=sua_senha Trusted_Connection=True.
    • Caso for utulizar autenticação pelo windows substitua o parâmetro Password=sua_senha pelo parâmetro OSAuthent=Yes.

Os parâmetros utilizados são basicamente os mesmos utilizados para conectar no servidor utilizando o SQL Server Management Studio (SSMS).

Veja o exemplo abaixo:

Ilustração da configuração dos parâmetros de conexão no Delphi.


Caso você deseje fazer a conexão com banco de dados via código, veja o post Classe de Conexão em Delphi, disponível no final da página na sessão Posts Relacionados, e substitua os parâmetros para utilizar o SQL Server.

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 3: 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:

Delphi

procedure TForm1.FormCreate(Sender: TObject);
begin
  try
    FDConnection1.Connected := True; //conecta ao banco de dados codedelphi
    FDQuery1.Open; //abre a tabela usuarios que será exibida na DBGrid1
  except
    on E: Exception do //Tratamento de erro caso a conexão falhar
      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:

Delphi

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 - SQL Server e FireDAC no Delphi

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.MSSQL, FireDAC.Phys.MSSQLDef, FireDAC.VCLUI.Wait,
  FireDAC.Phys.ODBCBase, Data.DB, FireDAC.Comp.Client, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, Vcl.Grids, Vcl.DBGrids,
  FireDAC.Comp.DataSet;

type
  TForm1 = class(TForm)
    FDConnection1: TFDConnection;
    FDPhysMSSQLDriverLink1: TFDPhysMSSQLDriverLink;
    FDQuery1: TFDQuery;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    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
  try
    FDConnection1.Connected := True; //conecta ao banco de dados codedelphi
    FDQuery1.Open; //abre a tabela usuarios que será exibida na DBGrid1
  except
    on E: Exception do //Tratamento de erro caso a conexão falhar
      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.
  

Veja a ilustração do projeto abaixo:

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-SQLServer-FireDac

Conclusão

O Microsoft SQL Server se destaca como uma opção robusta e escalável para projetos desenvolvidos em Delphi. Sua integração eficiente com a VCL e FMX, além de suporte ao FireDAC, permite que os desenvolvedores criem aplicações de alto desempenho, seja para ambientes corporativos ou soluções específicas.

Entre os principais benefícios estão a segurança avançada, suporte a transações ACID e ferramentas para análise e otimização de desempenho, além de compatibilidade com grandes volumes de dados. A flexibilidade de versões, desde a Express até as mais robustas, facilita sua adoção por empresas de diversos tamanhos.

Por outro lado, algumas limitações, como o custo das licenças nas edições Enterprise, devem ser ponderadas conforme o escopo do projeto. Apesar disso, o SQL Server continua sendo uma escolha sólida para aplicativos críticos onde desempenho e confiabilidade são indispensáveis.

Ao dominar a integração entre Delphi e SQL Server, o desenvolvedor amplia suas possibilidades na criação de soluções empresariais modernas, seguras e eficientes.

Posts Relacionados



Nenhum comentário:

Postar um comentário

Recursividade em Delphi: Conceitos, Exemplos e Aplicações Práticas

Neste post, você aprenderá quando usar recursividade em Delphi, suas vantagens e desvantagens, além de um exemplo prático implementa...