delphi componentes do dpexpress erro (delta is empty)
Boa tarde..
Utilizo o delphi 7
Componentre dbexpress
Baco de dados firebird 1.5.3
componentes do dpexpress erro (delta is empty)
tabelea mestre detalhe (pedido/peditens)
mestre
sqlquery
datasetprovider
clientdataset
datasopurce
detalhe
sqlquery
clientdataset
datasopurce
no momento da inclusao no item do pedido da o seguinte erro
project kagill.exe exception class edbclient with message (delta is empty) process stoped
grava o pedido certinho na gravacao do item do pedido da o erro acima
pergunta como resolver este tipo de erro??
grato
Placido
Utilizo o delphi 7
Componentre dbexpress
Baco de dados firebird 1.5.3
componentes do dpexpress erro (delta is empty)
tabelea mestre detalhe (pedido/peditens)
mestre
sqlquery
datasetprovider
clientdataset
datasopurce
detalhe
sqlquery
clientdataset
datasopurce
no momento da inclusao no item do pedido da o seguinte erro
project kagill.exe exception class edbclient with message (delta is empty) process stoped
grava o pedido certinho na gravacao do item do pedido da o erro acima
pergunta como resolver este tipo de erro??
grato
Placido
Placido
Curtidas 0
Respostas
Marco Salles
23/03/2009
Parece que vc esta Aplicando o Delta qnd esta esta Vazio..
Vc esta dando Um ApplayUpdates ou um Refresh ????
Vc esta dando Um ApplayUpdates ou um Refresh ????
GOSTEI 0
Placido
23/03/2009
Boa tarde..
estou utilizando o appalyupdate
apenas para vc entender...
primeiro da a mensagem de erro, mas o registro e gravado normalmente..
não estou entendendo o pq da mensagem de eero que está dando..
Grato
Placido
estou utilizando o appalyupdate
apenas para vc entender...
primeiro da a mensagem de erro, mas o registro e gravado normalmente..
não estou entendendo o pq da mensagem de eero que está dando..
Grato
Placido
GOSTEI 0
Marco Salles
23/03/2009
Vc deve ta dando um Refresh apos esta applayUpdaes.. Ou alguma coisa deste Genero
GOSTEI 0
Marco Salles
23/03/2009
Desconsidere o meu Ultimo Post.. Temos erro se dermos um
Refresh seguido de ApllayUpdates. Mas é outra História
Vc da o ApplayUpdates no Mestre Ou No Detalhe ???
No DbExpress no Mestre/Detalhe NextDataSet é o Provider do Mestre
responsavel por resolver o Delta no Servidor... Sua configuração dos
componentes esta assim ?????? Um DataSetProvider para ambos ???
Refresh seguido de ApllayUpdates. Mas é outra História
Vc da o ApplayUpdates no Mestre Ou No Detalhe ???
No DbExpress no Mestre/Detalhe NextDataSet é o Provider do Mestre
responsavel por resolver o Delta no Servidor... Sua configuração dos
componentes esta assim ?????? Um DataSetProvider para ambos ???
GOSTEI 0
Placido
23/03/2009
Bom dia..
Obrigado pela colaboração..
Eu utilizo uma tela padrao para inclusão de tabel normal e ula tela padrao
para tabela do tipo mestredetalhe em todo o meu sistema
no memento de desenvolver o programa para uma tela nova estou herdando esta tela padrao...
O que eu estou achando esquisito é que o registro esta sendo incluido na tabela de itens..
Da a mensagem de erro, mas grava o registro...
Só estou querendo eliminar esta mensagem de erro..
Grato
Placido
Obrigado pela colaboração..
Eu utilizo uma tela padrao para inclusão de tabel normal e ula tela padrao
para tabela do tipo mestredetalhe em todo o meu sistema
no memento de desenvolver o programa para uma tela nova estou herdando esta tela padrao...
O que eu estou achando esquisito é que o registro esta sendo incluido na tabela de itens..
Da a mensagem de erro, mas grava o registro...
Só estou querendo eliminar esta mensagem de erro..
Grato
Placido
GOSTEI 0
Marco Salles
23/03/2009
Acredito Plácido que algumas informaçãoe seja, relevantes...
No DbExpree Mestre/Detalhe .. o applayUpdates no cdsMestre salva todas
as informaçoes .. É necesáio portanto dar um applayUpdates no CdsMestre , pq o Provider envia todas as Alteraçoes da Tabela Detalhes
bem com as alteraçoes da Tabela Mestre em Um Unico Delta , atraves de
um Unico DataSetProvider para que o processo de resolving fique
atomico ... Vc esta fazendo desta Forma ?????
As vezes vc Esta dando dois apllayUpdates ( Um para cdsDetalhes ,
Outro para CdsMestre) e o Delta ja esta vazio , pq ja foi resolvido pelo
provider... É isto que estou tentando te dizer
entendeu agora ??
No DbExpree Mestre/Detalhe .. o applayUpdates no cdsMestre salva todas
as informaçoes .. É necesáio portanto dar um applayUpdates no CdsMestre , pq o Provider envia todas as Alteraçoes da Tabela Detalhes
bem com as alteraçoes da Tabela Mestre em Um Unico Delta , atraves de
um Unico DataSetProvider para que o processo de resolving fique
atomico ... Vc esta fazendo desta Forma ?????
As vezes vc Esta dando dois apllayUpdates ( Um para cdsDetalhes ,
Outro para CdsMestre) e o Delta ja esta vazio , pq ja foi resolvido pelo
provider... É isto que estou tentando te dizer
entendeu agora ??
GOSTEI 0
Jean Wetter
23/03/2009
Também tenho esse problema.
eu faço um while pra percorrer um client e incluir pra mim no cdsDetalhe os itens.
Como vc disse em cada ´volta´ do while eu dou um post e no evento afetrpost eu tenho o apllyupdates.
Porém não dá esse erro sempre...
Se poder me dá uma luz...
Atenciosamente
Jean Wetter 8)
eu faço um while pra percorrer um client e incluir pra mim no cdsDetalhe os itens.
Como vc disse em cada ´volta´ do while eu dou um post e no evento afetrpost eu tenho o apllyupdates.
Porém não dá esse erro sempre...
Se poder me dá uma luz...
Atenciosamente
Jean Wetter 8)
GOSTEI 0
Jean Wetter
23/03/2009
Kra,
A mensagem de erro existe pois o seu DELTA (datasetProvider) ja fez a transaçao e assim já o limpou e dessa forma vc tenta fazer a transação denovo.
Provavelmente deve está usando um post e um ApplyUpdates, sendo que o post somente que é o certo pois o client detalhe não deve forçar a gravação no banco e sim mestre já faz isso automaticamente.
Se tiver fazendo algo diferente disso é só falar...
Atenciosamente
Jean Wetter 8)
A mensagem de erro existe pois o seu DELTA (datasetProvider) ja fez a transaçao e assim já o limpou e dessa forma vc tenta fazer a transação denovo.
Provavelmente deve está usando um post e um ApplyUpdates, sendo que o post somente que é o certo pois o client detalhe não deve forçar a gravação no banco e sim mestre já faz isso automaticamente.
Se tiver fazendo algo diferente disso é só falar...
Atenciosamente
Jean Wetter 8)
GOSTEI 0