Re: [firebase-br] Dúvidas ClientDataSet

Joubert Rinaldi rinaldi.vieira em gmail.com
Sáb Set 25 18:48:28 -03 2004


Francisco,

Também estou começando com CDS e a sua resposta deixou duvidas.

> 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


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


Esplica melhor esse Mestre-Detalhe configurado corretamente e
Mestre-Detalhe com IBDataSet.

[]'s




On Fri, 24 Sep 2004 12:12:40 -0300 (ART), Francisco Thiago Almeida
<jeandeadlucky em yahoo.com.br> wrote:
> 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
> 



-- 
MSN: jcombr em hotmail.com




Mais detalhes sobre a lista de discussão lista