Fórum Quando usar DataModule #420910
02/08/2012
0
Estou iniciando meus estudos sobre o Delphi (estou usando a versão mais atual, XE 2) e surgiu a seguinte dúvida: quando e por que eu devo utilizar DataModules?
Vi que geralmente o componente de conexão é colocado em um DataModule, mas qual a diferença de fazer assim e este componente no form principal?
Obrigada.
Rachel Andrade
Curtir tópico
+ 0Posts
02/08/2012
William
Uma aplicação que trabalha com várias tabelas e procedures, seria necessário configurar um conjunto de componentes (TSQLConnection, (TSQLTabel ou TSQLQuery ou TSQLDataSet), TDataSetProvider, TClientDataSet, TDataSource) para acessar uma tabela, mas já imaginou ser vc quisesse acessar essa mesma tabela em 4 forms diferentes, então esse conjunto de componentes teria que ser configurado 4 vezes sendo uma para cada form. Já usando um DataModule vc pode centralizar toda a conexão e acesso as tabelas do banco, ou seja, vc configura esse conjunto uma vez no DataModule e pode utilizar em quantos forms forem necessários. Sendo necessários apenas declarar a Unit do DataModule na seção interface, na cláusula Uses dos forms onde será necessários acessar os dados da tabela.
Exemplo: 1 banco de dados com várias tabelas, vc pode usar um DataModule só para conexão, outro só para as tabelas do adminstrativo e outra para as tabelas da produção, conforme for necessários vc carrega ou não esses DataModules.
Bom citei aqui exemplos básicos de uso do DataModule, mas existem inúmeras situaçõe em que ele pode ser útil.
OBS.: Esse conjunto de componentes (TSQLConnection, (TSQLTabel ou TSQLQuery ou TSQLDataSet), TDataSetProvider, TClientDataSet, TDataSource)deverá ser utilizado caso vc esteja usando engine de acesso DBExpress, devido aos componentes DataSets serem unidirecionais então se faz necessário o uso do TClientDataSet para navegação bidirecional.
Gostei + 0
02/08/2012
Deivison Melo
Artigos:
http://www.scriptbrasil.com.br/forum/lofiversion/index.php/t146710.html
https://www.devmedia.com.br/quick-tips-data-module-como-administrar-sua-utilizacao-em-projetos-delphi-parte-i/14048
Video-Aula:
http://www.youtube.com/watch?v=pNeagRo4rFo
Gostei + 0
02/08/2012
Rachel Andrade
Então a ideia é centralizar os componentes de acesso ao banco (podendo dividir por contexto), de forma a evitar configurações repetitivas para um mesmo fim?
Grata.
Gostei + 0
02/08/2012
Bruno Leandro
Gostei + 0
04/08/2012
Marco Salles
È indicado separar od dataModulos do Servidor com o dataModulo do Cliente
eles podem se comunicar atraves do TLocalconecction que simula uma separação física da camadas
com isto fica fácil futuramente vc migrar sua aplicação para um arquitetura n-tier utilizando o Datasnap
Imagine vc ter datamodulos com sqlDataset e Clientdataset juntos . imagine vc ter códigos eventos neste mesmo
dataModulo , (vc esta em uma aplicação Local) . Mas resolve colocar isto em um servidord de aplicação
Imagine o trabalho que da separar tudo isto ???
Os mais puiristas preferm utilizar datasnap mesmo para aplicações Locais
Gostei + 0
03/04/2013
Rachel Andrade
Mas essa questão do DataModule eu acho que entendi.
Peço que alguém finalize esse tópico, por favor.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)