DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo Clube Delphi 94 - Usando todo o poder do TDataSetProvider

Artigo publicado pela Clube Delphi edição 94.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Esse artigo faz parte da revista Clube Delphi edição 94. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler essa revista em PDF.imagem_pdf.jpg

Mão na Massa

Usando todo o poder do TDataSetProvider

Usufrua de todos os recursos do DataSetProvider em suas aplicações

 

Sem dúvida nenhuma, um dos componentes mais poderosos da VCL é o DataSetProvider, que, além de prover dados a toda a aplicação, é capaz de auxiliar em uma série de funcionalidades no sistema.

Veremos o que há de mais interessante nesse componente e dicas avançadas para usufruir ao máximo de suas propriedades e métodos. Em conjunto com os componentes DBExpress o DataSetProvider é capaz de realizar inúmeras tarefas. Veremos nesse artigo:

·         Introdução ao DataSetProvider;

·         Como usar o UpdateMode e ProviderFlags;

·         Configurando dinamicamente o UpdateMode e ProviderFlags;

·         Uso de Constraints;

Criaremos diversos exemplos para entendermos corretamente cada funcionalidade do DataSetProvider;

 

Entendendo o DataSetProvider

Basicamente o DataSetProvider é responsável por enviar e receber os Data Packets da aplicação cliente para a o servidor de dados. Os Data Packets são os pacotes de dados trafegados na rede em uma aplicação duas camadas (“two-tier” ou “client/server”) ou “n” camadas (“n-tier”). Toda e qualquer requisição feita pela aplicação cliente é enviada ao DataSetProvider que por sua vez se encarrega de solicitar os dados ao servidor de aplicação. O result set, ou seja, o resultado da requisição é empacotado (“Data Packets”) e enviado de volta à aplicação cliente. Qualquer exceção levantada, seja na requisição ou no recebimento dos dados, é retornada a aplicação cliente.

Pode-se dizer que a utilização mais comum do DataSetProvider é feita em conjunto dos componentes da paleta DBExpress acrescido do componente ClientDataSet. Um exemplo de uso pode ser visto na Figura 1.

O que pouca gente sabe é que o DataSetProvider pode se tornar mais do que um simples componente de conexão com o banco de dados por ser farto de propriedades e eventos.

 

Figura 1. Exemplo de uso do componente DataSetProvider  

 

Constraints e DataSetProvider

Como sabemos, as constraints de uma aplicação podem ser inseridas de diversas formas em uma aplicação. Em aplicações two-tier, por exemplo, temos apenas dois lugares onde elas podem ser incluídas: no lado servidor ou na aplicação cliente. No servidor devemos inseri-las diretamente no SGBD através de Stored Procedures, domains, rules, triggers etc. É uma excelente idéia, pois centralizamos nossas regras de negócios em um único lugar. Porém, corremos o risco de ficarmos presos ao banco de dados que estamos trabalhando por conta da linguagem empregada no SGBD. Em outras palavras quando programamos diretamente no banco necessitamos usar a linguagem de programação SQL, também chamada ANSI, para criar nossas próprias instruções. Isso pode se tornar uma dor de cabeça em uma eventual mudança de banco de dados ou mesmo se o produto vier a ser comercializado com BD’s diferentes. Imagine um software que precisa ser capaz de se conectar aos bancos Interbase/Firebird, SQL Server 2005 Express e Oracle. De início já teremos algumas complicações entre Interbase e Firebird dependendo da versão de ambos, haja vista que muitas modificações no BD foram feitas ao longo dos anos. Por isso, da mesma forma que o esquema é interessante, também pode tornar-se um trauma.

Por outro lado é possível incluir constraints diretamente na aplicação cliente, porém temos uma enorme desvantagem: a "

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Adriano Santos
É especialista Delphi, ex-editor das revistas ClubeDelphi e WebMobile, atualmente é Product Manager na SPK Tecnologia - empresa distribuidora de diversas soluções tecnológicas – e especialista em Microsoft Team Foundation Server.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03