Um conhecimento só é válido quando compartilhado.

terça-feira, 11 de outubro de 2016

ORMBr - Criando um Mestre-Detalhe

Mais uma dica do ORMBr.
Vamos hoje demonstrar como criar um mestre-detalhe de forma simples e eficaz, usando o ORMBr.
1o Passo: Criar a conexão com já mostrado no post ORMBr - Como criar uma conexão ? 
2o Passo: Adiciona em seu form dois TClientDataSet (podemos usar o TFDMemTable), vou usar o TClientDataSet nessa dica, adicione também dois TDataSource, em seguida configure suas propriedades ligando cada um ao seu TClientDataSet.
3o Passo:
 Adicione na clausula USES, as units:
ormbr.dependency.injection.clientdataset,
ormbr.dependecny.interfaces,
ormbr.factory.dbexpress;  // <= Aqui a fábrica de conexão escolhida por você.
4o Passo: Crie os modelos do mestre e do detalhe, veja o demo que segue junto aos fontes caso tenha dúvida nesse passo. 
5o Passo: Defina duas variáveis do tipo IContainerDataSet<T>, onde <T> devem ser os tipos dos modelos criados para mestre e detalhe, veja o código exemplo: 
oMestre: IContainerDataSet<TMestre>;
oDetalhe: IContainerDataSet<TDetalhe>;
6o Passo: No Create do Form, instancie a variável oMestre definida, passando para ela a variável de conexão, e o TClientDataSet1 que foi adicionado no inicio, veja o exemplo: 
oMestre := IContainerDataSet<TMestre>.Create(oConn, ClientDataSet1);
7o Passo: Também no Create do Form, instancie a variável oDetalhe definida, passando para ela a variável de conexão, e o TClientDataSet2 que foi adicionado no inicio e um terceiro parâmetro informando quem é o objeto MESTRE, veja o exemplo: 
oDetalhe := IContainerDataSet<TDetalhe>.Create(oConn, ClientDataSet2, oMestre);
8o Passo: Abra a tabela, chamando o método Open, veja o exemplo: 

oMestre.DataSet.Open;
A partir desse ponto, o ORMBr gerencia todo o resto, como abrir, relacionar, excluir e fechar a tabela DETALHE automaticamente.

SAC Automação Delphi e Lazarus

SAC Automação Delphi e Lazarus
Assine nosso SAC Automação Delphi e Lazarus para ter suporte técnico especializado em desenvolvimento

Quem sou eu

Minha foto

Proprietário/Administrador de Empresa em TI (Tecsis Informática)
  • Autor dos projetos OpenSource ORMBr, e DBCBr
  • Autor dos componentes ACBrInstall, ACBrSped, ACBrPaf, ACBrInStore, ACBrDownload.

Total de visualizações

Postagem em destaque

ORMBr - Mapeamento objeto-relacional

Mapeamento objeto-relacional ( ou ORM, do inglês: Object-relational mapping ) é uma técnica de desenvolvimento utilizada para reduzir...

Todo os direitos reservados.. Tecnologia do Blogger.

Seguidores

Google+ Seguindores