ApplyUpdates
Alguém sabe me informar se existe algum bug no ApplyUpdate?
Não sei o que ocorre, mas se vou mandando vários comandos, por exemplo de deleção, e dou um apply a cada deleção, algumas vezes trava. Isso tem acontecido bastante recentemente, mas não é a primeira vez que acontece. Será que existe algum bug. Estou usndo o comando assim: ClientDataSet.ApplyUpdates(0).
Não sei o que ocorre, mas se vou mandando vários comandos, por exemplo de deleção, e dou um apply a cada deleção, algumas vezes trava. Isso tem acontecido bastante recentemente, mas não é a primeira vez que acontece. Será que existe algum bug. Estou usndo o comando assim: ClientDataSet.ApplyUpdates(0).
Carololiveirarod
Curtidas 0
Respostas
Robsons
19/07/2005
Olá !!!
Tb Tenho passado por este tipo de problema com o ClientDataSet...
Qual o Banco de Dados que vc está usando ???
Já Experimentou usar ClientDataSet.Applyupdates(0);
Se Souber de Algo novo poderia me informar tb ...
Obrigado...
Tb Tenho passado por este tipo de problema com o ClientDataSet...
Qual o Banco de Dados que vc está usando ???
Já Experimentou usar ClientDataSet.Applyupdates(0);
Se Souber de Algo novo poderia me informar tb ...
Obrigado...
GOSTEI 0
Carololiveirarod
19/07/2005
Alguém sabe me informar se existe algum bug no ApplyUpdate?
Não sei o que ocorre, mas se vou mandando vários comandos, por exemplo de deleção, e dou um apply a cada deleção, algumas vezes trava. Isso tem acontecido bastante recentemente, mas não é a primeira vez que acontece. Será que existe algum bug. Estou usndo o comando assim: ClientDataSet.ApplyUpdates(0).
Obs. Estou usando o Apply em um ClientDataSet que é um Detail de outro Client. Não sei se pode ter alguma coisa a ver.
GOSTEI 0
Adriano Santos
19/07/2005
Cara tente usar o método CloseDataSets do TSQLConnection.
SqlConnection.CloseDataSets;
Ele força o envio das informações salvas em Cache para o banco. Talvez pare o problema.
SqlConnection.CloseDataSets;
Ele força o envio das informações salvas em Cache para o banco. Talvez pare o problema.
GOSTEI 0
Carololiveirarod
19/07/2005
Cara tente usar o método CloseDataSets do TSQLConnection.
SqlConnection.CloseDataSets;
Ele força o envio das informações salvas em Cache para o banco. Talvez pare o problema.
Essa solução que você passou não me resolve porque fecha as Querys e eu não quero fecha-las.
GOSTEI 0
Carololiveirarod
19/07/2005
Cara..não sei o que fazer...tentei mudar o Apply pra ser dado na Query Master, mas trava do mesmo jeito. Credo...Acho que isso é bug. Não tem o mínimo sentido. E o pior que o comando de deleção é passado direitinho, já verifiquei o log do banco e aparentemente não tem nada errado.
GOSTEI 0
Kotho
19/07/2005
Obs. Estou usando o Apply em um ClientDataSet que é um Detail de outro Client. Não sei se pode ter alguma coisa a ver.
Quando se utiliza o ClientDataSet com Master/Detail... o ApplyUpdates deve ser dado na tabela master somente, e todos os Details serão atualizados (inclusive dentro de uma única transação)...
GOSTEI 0
Carololiveirarod
19/07/2005
Foi exatamente isso que eu fiz. Troquei o Apply pra ser dado no Master...mas adivinha !! O Erro persistiu !!
GOSTEI 0
Cesarpir
19/07/2005
Amigos tive problemas parecidos e só que não aparecia mensagem exatamente do erro, ai virou caça ao rato até que no evento onReconcileError eu coloquei o seguinte código:
=====================
MessageDlg(´Mensagem: ´+E.Message,mtInformation,[mbok],0);
Action := raCancel;
=================
Bom pelo menos deu para sacar o tipo de problema, um era quando eu editava e tinha um campo do tipo blob, que se o usuário num digitava nada ai vinha o erro, isto após o applyupdates(0), outro erro que o banco retorna como erro mas na verdade era uma referência de integridade, tentei excluir um pedido sem eliminar os itens antes, bom espero que pelo menos de uma luz, se não perdoem-me, uso delphi 7 com firebird 1.5, dbexpress.
César
=====================
MessageDlg(´Mensagem: ´+E.Message,mtInformation,[mbok],0);
Action := raCancel;
=================
Bom pelo menos deu para sacar o tipo de problema, um era quando eu editava e tinha um campo do tipo blob, que se o usuário num digitava nada ai vinha o erro, isto após o applyupdates(0), outro erro que o banco retorna como erro mas na verdade era uma referência de integridade, tentei excluir um pedido sem eliminar os itens antes, bom espero que pelo menos de uma luz, se não perdoem-me, uso delphi 7 com firebird 1.5, dbexpress.
César
GOSTEI 0
Carololiveirarod
19/07/2005
O meu promblema é que não entra no Reconcile Error. Só pra você ter uma idéia, quando coloco um controle de transação, da seguinte maneira:
try
Bd.ApplicationServer.StartTransaction;
dmdDigitacao.QueryCapaLote.ApplyUpdates(0);
Bd.ApplicationServer.Commit;
except
Bd.ApplicationServer.Rollback;
MessageDlg( MsgErroGeral,mtError,[mbOk],0)
end;
O comando passa pelo Apply normalmente e só trava no Commit, mas se tiro o controle de transação ele trava no Apply, sem passar pelo reconcile. Não tá dando pra pegar o erro. Ahh...e isso só acontece em rede...quando estou no mesmo banco, porém local, não trava. Só que com a rede está tudo beleza....já rodei programinhas de verificação de rede enquanto eu executava a transação e trava mesmo quando a rede está beleza.
try
Bd.ApplicationServer.StartTransaction;
dmdDigitacao.QueryCapaLote.ApplyUpdates(0);
Bd.ApplicationServer.Commit;
except
Bd.ApplicationServer.Rollback;
MessageDlg( MsgErroGeral,mtError,[mbOk],0)
end;
O comando passa pelo Apply normalmente e só trava no Commit, mas se tiro o controle de transação ele trava no Apply, sem passar pelo reconcile. Não tá dando pra pegar o erro. Ahh...e isso só acontece em rede...quando estou no mesmo banco, porém local, não trava. Só que com a rede está tudo beleza....já rodei programinhas de verificação de rede enquanto eu executava a transação e trava mesmo quando a rede está beleza.
GOSTEI 0
Carololiveirarod
19/07/2005
Será que alguém pode me ajudar?? Não sei mais o que fazer...não consigo achar o erro.
GOSTEI 0
Cesarpir
19/07/2005
Amigo, ta dificil em imaginar o erro mas vc ja tentou inserir dados direto no banco de dados via insert into, quem sabe o erro num esta la, fica dicifil imaginar sem ver codigos, banco por inteiro.
Se tiver mais detalhes ainda , ajudaria.
César
Se tiver mais detalhes ainda , ajudaria.
César
GOSTEI 0
Caduoli
19/07/2005
quando ta na rede local funciona quando ta na rede externa do o commit trava o banco
GOSTEI 0
Caduoli
19/07/2005
quando ta na rede local funciona quando ta na rede externa do o commit trava o banco
GOSTEI 0