Curso de dbExpress e DataSnap - ParteXI

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

Veja o neste artigo de Guinther Pauli, mais um capítulo do curso sobre dbExpress e DataSnap.

Curso de dbExpress e DataSnap

Parte XI – Data vs. Delta

 

Este exemplo apresenta o uso das propriedades Data e Delta do ClientDataSet. Data é um OLEVariant que armazena a cache de dados, Delta é um OLEVariant que armazena as ALTERAÇÕES feitas em um ClientDataSet.

Inicie uma nova aplicação Delphi VCL e coloque no formulário principal coloque um Button, dois ClientDataSets, dois DataSource2, dois DBGridse um DBNavigator, fazendo as ligações como mostrado abaixo:

 

object ClientDataSet1: TClientDataSet

end

 

object DataSource1: TDataSource

  DataSet = ClientDataSet1

end

 

object DBGrid1: TDBGrid

  DataSource = DataSource1

end

 

object ClientDataSet2: TClientDataSet

end

 

object DataSource2: TDataSource

  DataSet = ClientDataSet2

end

 

object DBGrid2: TDBGrid

  DataSource = DataSource2

end

 

object DBNavigator1: TDBNavigator

  DataSource = DataSource1

end

 

Dê um clique de direita no ClientDataSet, escolha Load from MyBase Table e abra o arquivo Customer.XML, localizado nos demos do Delphi, por padrão no diretório:

 

C:\Arquivos de programas\Arquivos comuns\Borland Shared\Data

 

Seu formulário deve estar semelhante ao mostrado a seguir:

Archive11_1.gif 

Figura 1.

No evento OnClick do botão capturamos o Delta do primeiro CDS e jogamos como Data do segundo CDS:

 

procedure TFrmMain.BitBtn1Click(Sender: TObject);

begin

  if  ClientDataSet1.ChangeCount > 0 then

    ClientDataSet2.Data := ClientDataSet1.Delta;

end;

 

Execute a aplicação. Faça algumas modificações no primeiro DBGrid e observe que, ao clicar no botão, essas alterações são registradas no segundo DBGrid:

Archive11_2.gif 

Figura 2.

No exemplo anterior, modifiquei o campo Company de um registro. O CDS mantém os valores originais em Delta para serem utilizados no processo de Resolving do DataSetProvider, quando os campos precisam ser processados em instruções SQL de atualização.

 

Download

Você pode fazer download de todos os exemplos deste curso a partir do endereço http://cc.borland.com/Author.aspx?ID=222668. É preciso fazer o cadastro na BDN, que é gratuito e pode ser feito a partir do endereço http://bdn.borland.com

 

dbExpress, DataSnap e ClientDataSet: Técnicas Avançadas

Para mais informações sobre acesso a dados no Delphi e técnicas avançadas, sugiro a leitura do meu livro, “Delphi: Programação para Banco de Dados e Web”, como apoio para o aprendizado das tecnologias. Na obra mostro várias técnicas introdutórios e avançadas de desenvolvimento com ClientDataSet, dbExpress e DataSnap (multicamadas, incluindo SOAP e COM+). Para mais informações, consulte o link http://www.clubedelphi.net/guinther

 

Leia todos artigos da série

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Ficou com alguma dúvida?