![]() |
Data Modules em Delphi |
Índice
Introdução
Os Data Modules em Delphi são componentes especiais que permitem organizar e gerenciar a lógica de negócios e os componentes de acesso a dados de uma aplicação de forma centralizada e estruturada. Um Data Module é um contêiner que pode conter datasets, data sources, conexões de banco de dados e outros componentes relacionados a dados, mas sem interface visual própria.
Para que Servem os Data Modules em Delphi
Os Data Modules servem para:
- Centralizar a Lógica de Dados: Eles agrupam componentes de acesso a dados e lógica de negócios em um único lugar, facilitando a manutenção e o gerenciamento do código.
- Reutilização de Componentes: Permitem a reutilização de componentes de acesso a dados e lógica de negócios em diferentes partes da aplicação.
- Separação de Concerns: Ajudam a separar a lógica de negócios da interface do usuário, seguindo o princípio de separação de preocupações (Separation of Concerns).
- Facilitar a Manutenção: Ao centralizar a lógica de dados, qualquer alteração ou atualização pode ser feita em um único lugar, simplificando a manutenção do código.
Quando os Data Modules Devem Ser Utilizados
Os Data Modules devem ser utilizados em diversas situações, incluindo:
- Aplicações Grandes: Em projetos de grande porte, onde a lógica de dados é complexa e espalhada por várias partes da aplicação.
- Reutilização de Código: Quando componentes de acesso a dados e lógica de negócios precisam ser reutilizados em diferentes formulários ou partes da aplicação.
- Organização do Código: Para manter o código organizado e separado, facilitando a manutenção e evolução da aplicação.
Como Utilizar Data Modules em Delphi
Vamos ver um exemplo prático de como criar e usar Data Modules em Delphi.
Configurando o Ambiente
- Abrindo o Delphi: Abra o Delphi e crie um novo projeto VCL Forms Application.
- Configurando o Formulário Principal: Adicione os seguintes componentes ao formulário:
- TButton (Button1)
- TDbGrid (DbGrid1)
- Salve o Formulário principal como MainFormUnit.
Criando um Data Module
- Criação do Data Module: Com o projeto aberto crie um novo Data Module.
- Vá em
File
>New
>Other...
e selecioneData Module
.
- Vá em
- Salve o Data Module como DataModuleUnit.
- Adicione 3 componentes (TADOConnection, TADOTable e TDataSource).
unit DataModuleUnit;
interface
uses
System.SysUtils, System.Classes, Data.DB, Data.Win.ADODB;
type
TDataModule1 = class(TDataModule)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule1: TDataModule1;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
end
Neste exemplo, criamos um Data Module chamado TDataModule1
que contém um componente de conexão TADOConnection
, uma tabela TADOTable
, e um data source TDataSource
.
Na propriedade DefaultDatabase do componente ADOConnection1 coloque world e desmarque a propriedade LoginPrompt, na propriedade Connection do compomente ADOTable1 ligue com ADOConnection1 e na propriedade TableName coloque country, na propriedade DataSet do componente DataSource1 ligue com ADOTable1.
Nesse exemplo iremos utilizar o MySql, utilizando o banco de dados world e a tabela country.
![]() |
DataModule - Ilustração do código acima. |
Utilizando o Data Module
Para utilizar o Data Module em um formulário, você deve referenciá-lo na cláusula uses
e acessar seus componentes.
unit MainFormUnit;
interface
uses
Vcl.Forms, Vcl.StdCtrls, Vcl.DBGrids, DataModuleUnit, Data.DB;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
DataModule1.ADOConnection1.ConnectionString := 'Provider=MSDASQL.1;Persist Security Info=False;User ID=root;Data Source=MySql ODBC 32 Ansi;Initial Catalog=world;';
DataModule1.ADOConnection1.Connected := True;
DataModule1.ADOTable1.Open;
end;
end.
Neste exemplo, o formulário principal TForm1
utiliza o TDataModule1
. O componente TDBGrid
está ligado ao TDataSource
do Data Module, e ao clicar no botão, a conexão ao banco de dados é aberta e a tabela é carregada.
Caso esteja com dúvida sobre a conexão de banco de dados com MySql, veja o post do link a seguir: https://www.codedelphi.com/2024/06/banco-de-dados-em-delphi.html/
Benefícios dos Data Modules
- Centralização: Todos os componentes de dados estão centralizados, facilitando a localização e manutenção do código relacionado a dados.
- Reutilização: Os componentes de dados podem ser reutilizados em diferentes formulários ou módulos da aplicação, evitando duplicação de código.
- Facilidade de Manutenção: Alterações nos componentes de dados ou na lógica de negócios podem ser feitas em um único lugar, refletindo em todas as partes da aplicação que utilizam o Data Module.
- Organização: Mantém o código organizado e separado, seguindo boas práticas de design de software.
Veja abaixo a ilustração do projeto utilizando Data Modules:
![]() |
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/DataModule
Conclusão
Os Data Modules são uma ferramenta poderosa em Delphi para organizar e gerenciar a lógica de negócios e componentes de acesso a dados. Eles promovem a centralização, reutilização e manutenção do código, além de melhorar a organização da aplicação. Com este guia, você aprendeu a criar e utilizar Data Modules em Delphi, implementando um exemplo prático para facilitar a compreensão. Ao adotar esta abordagem, você pode construir aplicações mais robustas, escaláveis e fáceis de manter.
Nenhum comentário:
Postar um comentário