Dados desaparecendo....
Olá pessoal...
É o seguinte...
Estou desenvolvendo um sistema para o controle interno da empresa onde trabalho...
Uma funcionária veio me questionar que o que ela lançou no sistema ontem desapareceu...Fui consultar diretamente no banco de dados e constatei que realmente não existem registros com a data de ontem.
O que pode estar ocasionando isso?
Eu uso INTERBASE e no OnClose de todos os forms eu utilizo o seguinte comando:
DmDados.IBTransactionDados.Active :=True;
DmDados.IBTransactionDados.Commit;
Alguém poderia me ajudar nessa aí?
valeu!
Marcos Miranda.
É o seguinte...
Estou desenvolvendo um sistema para o controle interno da empresa onde trabalho...
Uma funcionária veio me questionar que o que ela lançou no sistema ontem desapareceu...Fui consultar diretamente no banco de dados e constatei que realmente não existem registros com a data de ontem.
O que pode estar ocasionando isso?
Eu uso INTERBASE e no OnClose de todos os forms eu utilizo o seguinte comando:
DmDados.IBTransactionDados.Active :=True;
DmDados.IBTransactionDados.Commit;
Alguém poderia me ajudar nessa aí?
valeu!
Marcos Miranda.
José Alves
Curtidas 0
Respostas
Gandalf.nho
30/01/2004
Será que não houve um problema na hora que impediu o COMMIT dos registros? Se só é dado COMMIT na hora de fechar o form e der um problema, perde-se tudo o que foi digitado enquanto o form estava aberto.
GOSTEI 0
José Alves
30/01/2004
Será que não houve um problema na hora que impediu o COMMIT dos registros? Se só é dado COMMIT na hora de fechar o form e der um problema, perde-se tudo o que foi digitado enquanto o form estava aberto.
Como devo fazer então???
Valeu!
Marcos Miranda.
GOSTEI 0
Gandalf.nho
30/01/2004
Você não tem um botão no form para comitar as alterações sem que o usuário precise fechar o form?
GOSTEI 0
José Alves
30/01/2004
Você não tem um botão no form para comitar as alterações sem que o usuário precise fechar o form?
tenho um botão onde dou um post
mas se eu não realizar o commit, as outras máquinas da rede não conseguem vizualizar as alterações...
Se eu der o commit após o post, o banco vai reordenar a tabela, colocando - no 1º registro...Por isso, coloco commit no fechamento do form...
Tem alguma outra meneira?
GOSTEI 0
Afarias
30/01/2004
1- Não deixe q algo importante como a gravação dos registros fique por conta e algo tão ´frágio´ como o fechamento do FORM (siga a dica do pessoal, um botão de gravar)
2- Este código::
DmDados.IBTransactionDados.Active :=True;
DmDados.IBTransactionDados.Commit;
NÃO FAZ NADA!!
substitua por (no OnClose do form)::
if DmDados.IBTransactionDados.InTransaction then
DmDados.IBTransactionDados.Commit;
|Se eu der o commit após o post, o banco vai reordenar a tabela, {...}
Use COMMITRETAINING no botão de gravação
No mais, verifique se o banco de dados não está corrompido (com o GFIX ou IBConsole ou outra ferramenta) e faça um backup e restaure o banco.
T+
2- Este código::
DmDados.IBTransactionDados.Active :=True;
DmDados.IBTransactionDados.Commit;
NÃO FAZ NADA!!
substitua por (no OnClose do form)::
if DmDados.IBTransactionDados.InTransaction then
DmDados.IBTransactionDados.Commit;
|Se eu der o commit após o post, o banco vai reordenar a tabela, {...}
Use COMMITRETAINING no botão de gravação
No mais, verifique se o banco de dados não está corrompido (com o GFIX ou IBConsole ou outra ferramenta) e faça um backup e restaure o banco.
T+
GOSTEI 0
José Alves
30/01/2004
Olá...
Muito Obrigado pelas respostas...
Verifiquei ma outra coisa...
Os dados inseridos só são vistos na rede se a o software que fez a insersão for fechado...
Porque isso acontece? Como faço para resolver?
Valeu de novo...
Marcos.
Muito Obrigado pelas respostas...
Verifiquei ma outra coisa...
Os dados inseridos só são vistos na rede se a o software que fez a insersão for fechado...
Porque isso acontece? Como faço para resolver?
Valeu de novo...
Marcos.
GOSTEI 0
Afarias
30/01/2004
Configura suas transações para READ COMMITED
(se for ibx, dê um duplo-clique nos IBTransaction)
T+
(se for ibx, dê um duplo-clique nos IBTransaction)
T+
GOSTEI 0