Nesse artigo vou mostrar como criar um relacionamento Master/Detail utilizando o recurso DataSetField do ClientDataSet.
Para podermos criar no Delphi uma relação Master/Detail em uma única estrutura de memória, devemos utilizar datasets aninhados, ou seja, o resultset traz em um dataset os TFields da tabela master e um TField expecial chamado TDataSetField, que representara a tabela detail.
Para podemos acessar o conteúdo de um TDataSetField, devemos usar a propriedade DataSetField de um componente dataset(no nosso caso o ClientDataSet).
Irei mostrar através de uma aplicação simples, como fazer esse relacionamento utilizando os recursos do dbexpress e do ClientDataSet.
Vamos à prática: