Curso Delphi – Criando uma Aplicação do Início ao fim - Parte 8
Relacionamento
Vamos criar o relacionamento do nosso projeto, mas o que é um relacionamento? É
quando uma tabela fica depedente da outra, ou melhor é quando uma tabela pai tem vários
filhos, e aonde pai vai os filhos iram.
Crie um novo data module em File, New, Other, Delphi Files e escolha Data Module, Dê
o nome de dmPedido e salve-o como UdmPedido.
Tabela Pai
Adicione ao data module o componente sqldataset e mude as seguintes propriedades:
Obs.: Caso não apareça nada na propriedade SqlConnection você deve instanciar o data
module dmPrincipal clicando em Alt+F11.
Adicione agora em nosso data module dmPedido o componente DataSetProvider e
mude as seguintes propriedades:
Adicione o componente ClientDataSet e mude as seguintes propriedades:
Tabela Filho
Adicionem um componente SqldataSet e mude as seguintes propriedades:
Um fator importante que na tabela de itens não haverá DataSetProvider, iremos
passar as informações através da propriedade DataSetField do ClientDataSet. Adicione então o
componente ClientDataSet e mude a propriedade name para cdsItens.
O Relacionamento se dar através da clausula Where da instrução Sql, podemos
perceber que as duas instruções são idênticas. Aqui estamos pedindo que nos traga todos os
itens o qual o IDPEDIDO seja igual ao da tabela sdsCadPedido.
Para que o ClientDataSet entenda esse relacionamento precisamos de um DataSource
para fazer esse ligamento. Adicione então um DataSource e mude a propriedade name para
dtsRelacionamento.
Vamos definir agora o parâmetro, selecione o componente sdsCadPedido e dê dois
clique na propriedade Params e configure de acordo a tela a seguir:
Faça o mesmo com o componente sdsItens.
Selecione agora o componente dtsRelacionamento e mude a propriedade dataset para
sdsCadPedido. Selecione o componente sdsItens e mude a propriedade DataSource para
dtsRelaciomanento. A idéia é ligarmos o dtsRelacionamento ao sdsCadPedido e o sdsItens ligálo
ao dtsRelacionamento, ou seja, tudo irá passar pelo DataSource.
Dê dois clique no componente cdsCadPedido e abrirá o Field Editor, com o botão
direito do mouse escolha add Fields e perceberá que abrirá uma caixa com novo campo do
tipo DataSet, selecione esse novo campo e dê OK. Como disse anteriormente ele criou um
campo do tipo dataset, ou seja, todos os campos da tabela sdsItens estão dentro deste
dataset, com isso ele usará apenas uma transação para as duas tabelas. Para finalizarmos o
relacionamento selecione o componente cdsItens e mude a propriedade DataSetField para
cdsCadPedidosdsItens, ok agora coloque todos os campos no Field editor do cdsItens.
Conclusão: Neste artigo podemos aprender como fazer um relacionamento NastedDataSet, o
qual utilizamos apenas uma transação, este tipo de relacionamento é o mais seguro, sabendo
que o banco de dados grava as informações de acordo a instrução SQL, ele obedecerá a risca o
que vem da clausula where.
No próximo artigo estarei montando a tela de vendas. Abraços e até lá.