RES: [firebase-br] Dúvidas ClientDataSet

Ricardo H. Rekowsky rekowsky em terra.com.br
Sáb Set 25 08:48:56 -03 2004


Obrigado a todos pelas dicas. Vou estar dando uma olhada com certeza.
Desculpem não responder antes, mas estava me "batendo" um pouco com a
config da nova lista e só estava recebendo os digests :-)

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em nome de Wellington Fuzato
Enviada em: sexta-feira, 24 de setembro de 2004 21:46
Para: FireBase
Assunto: Re: [firebase-br] Dúvidas ClientDataSet


Bom, falando em livro, também li um muito bom, que me tirou várias
dúvidas do CDS e aprendi coisas legais, como, por exemplo, como fazer
NestedTable:

Sistemas Multicamadas com Delphi - DataSnap e dbExpress

----- Original Message ----- 
From: "Cezinha" <cezinha em unetvale.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, September 24, 2004 1:21 PM
Subject: Re: [firebase-br] Dúvidas ClientDataSet


Vou dar um conselho adicional aos que querem iniciar ou aperceiçoar o
uso de
ClientDataSets:

Leiam o livro Delphi/Kylix - Desenvolvimento de Banco de Dados - Eric
Harmon - Editora Berkeley.

Alguém aqui da lista comentou sobre esse livro e eu comprei. É
simplesmente um dos melhores livros técnicos que eu já li.

Sds.,

Cezinha
  ----- Original Message ----- 
  From: Francisco Thiago Almeida
  To: FireBase
  Sent: Friday, September 24, 2004 12:12 PM
  Subject: Re: [firebase-br] Dúvidas ClientDataSet


  Realmente é difícil de se encontrar documentacao boa sobreo CDS... mas
vou responder algumas questoes suas:

  1) Usando o DataSetProvider eu configuro algumas opções para true:
  poCascadeDelete, poCascadeUpdates, poAllowMultipleRecordUpdates e
  poPropogateChanges

  Eu particularmente não configuro nenhuma delas....

  2) Algumas vezes recebo um erro CLientDataset(Nome do componente):
  Record not found. Isso acontece em uma relação master detail quando eu
  vou editar um registro mestre e surge essa mensagem e ele fecha e abre
a
  tabela (porém atualiza os dados)

  Não sei como você está fazendo as atualizações mas.. recentemente
postei uma mensagem aqui na lista com um passo-a-passo de Mestre -
detalhe com CDS... seria util pra vc...

  3) eu inicio as transações explicitamente, até porque todo o controle
de
  navegação, inserção, etc eu faço com botões personalizados. Muda
alguma
  coisa se eu usar o TbNavigator em relação às transações? Em alguns
posts
  eu li que com o ClientDataSet a transação é iniciada automaticamente
  pelo ClientDataset.

  Não é necessário Iniciar transacoes com o CDS. O PROVIDER faz isso por
vc.. até mesmo em casos de Mestre - Detalhe.. se configurado
corretamente

  4) Algumas vezes quando abro um formulário com a relação Master-detail
  recebo uma mensagem de Key violation (EDBClient). Não consegui
  identificar o porque!

  Nao sei pq o erro.. mas possivelmente vc tem um valor duplicado e um
indice (no CDS) com unique selecionado.... ou pode ser nada disso.. soh
olhando o codigo pra saber

  5) Algumas tabelas eu uso a ordenação dos dados em um DbGrid com
indice
  alterável quando clico no título do Grid. No WinXp funciona 100%, já
no
  WinMe ou inferiores não funciona. Tem alguma incompatibilidade de SO?

  Voce modifica o indice do cds certo? Okay. O WinXP e 2000 tem um
gerenciamento de memoria melhor que o 9x.. logo, alguma violacao de
memoria esta acontecendo nesta troca... Verifique no codigo da troca se
algo nao estah errado.. faca isso em um 9x se possivel

  6) Existe mais algum cuidado especial que preciso ter (além das
relações
  corretas) quando uso master-detail e clientdataset + DataSetProvider +
  IbDataset + Transaction?

  Nenhum.. Só um conselho.. faca a relacao Mestre Detalhe no
IBDataSet...


  Nao sei se existe esta propriedade no IBDataSet, mas se existir
Unidirectional... Coloque True nela.

  []'s e boa sorte!

  Thiago

  "Ricardo H. Rekowsky" <rekowsky em terra.com.br> wrote:
  Pessoal,

  passei os últimos dias pesquisando no fórum do ClubeDelphi, vários
sites
  que tenho cadastrados sobre Delphi aqui no Brasil e fora e pelo Google
  sobre como usar o CLientDataSet direito e vi diversas sugestões
  contraditórias. Como acabei me confundindo mais do que esclarecendo
  gostaria, se possível, contar com a ajuda de vocês para entender
melhor
  como funciona esse componente (principalmente com o uso de master-
  detail) com algumas perguntas:

  1) Usando o DataSetProvider eu configuro algumas opções para true:
  poCascadeDelete, poCascadeUpdates, poAllowMultipleRecordUpdates e
  poPropogateChanges
  --> preciso realmente configurar essas opções? por que percebi que sem
  elas algumas vezes os dados não são atualizados.
  2) Algumas vezes recebo um erro CLientDataset(Nome do componente):
  Record not found. Isso acontece em uma relação master detail quando eu
  vou editar um registro mestre e surge essa mensagem e ele fecha e abre
a
  tabela (porém atualiza os dados)
  3) eu inicio as transações explicitamente, até porque todo o controle
de
  navegação, inserção, etc eu faço com botões personalizados. Muda
alguma
  coisa se eu usar o TbNavigator em relação às transações? Em alguns
posts
  eu li que com o ClientDataSet a transação é iniciada automaticamente
  pelo ClientDataset.
  4) Algumas vezes quando abro um formulário com a relação Master-detail
  recebo uma mensagem de Key violation (EDBClient). Não consegui
  identificar o porque!
  5) Algumas tabelas eu uso a ordenação dos dados em um DbGrid com
indice
  alterável quando clico no título do Grid. No WinXp funciona 100%, já
no
  WinMe ou inferiores não funciona. Tem alguma incompatibilidade de SO?
  6) Existe mais algum cuidado especial que preciso ter (além das
relações
  corretas) quando uso master-detail e clientdataset + DataSetProvider +
  IbDataset + Transaction?

  Grato por eventuais esclarecimentos e desculpem o bombardeio de
  perguntas.... Mas minhas pesquisas não me levaram mais adiante do que
  isto.
  Ricardo
  ______________________________________________
  FireBase-BR (www.firebase.com.br)
  Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br


  -----------------------------------------------
  Francisco Thiago de Almeida
  MRL Consultoria em Informática
  Divisão Desenvolvimento e Banco de Dados
  Franca/SP

  ---------------------------------
  Yahoo! Messenger 6.0 - jogos, emoticons sonoros e muita diversão.
Instale agora!
  ______________________________________________
  FireBase-BR (www.firebase.com.br)
  Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br



______________________________________________
FireBase-BR (www.firebase.com.br)
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: VirusScan / Atualizado em 22/09/2004 / Versão: 1.5.2
Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/

E-mail classificado pelo Identificador de Spam Inteligente Terra. Para
alterar a categoria classificada, visite
http://www.terra.com.br/centralunificada/emailprotegido/imail/imail.cgi?
+_u=rekowsky&_l=1,1096073227.884519.6069.laranjal.terra.com.br,9065,Des1
5,Des15





Mais detalhes sobre a lista de discussão lista