Fórum Dados desaparecendo.... #41920

30/01/2004

0

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.


José Alves

José Alves

Responder

Posts

30/01/2004

Gandalf.nho

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.


Responder

Gostei + 0

30/01/2004

José Alves

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.


Responder

Gostei + 0

30/01/2004

Gandalf.nho

Você não tem um botão no form para comitar as alterações sem que o usuário precise fechar o form?


Responder

Gostei + 0

30/01/2004

José Alves

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?


Responder

Gostei + 0

30/01/2004

Afarias

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+


Responder

Gostei + 0

02/02/2004

José Alves

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.


Responder

Gostei + 0

02/02/2004

Afarias

Configura suas transações para READ COMMITED

(se for ibx, dê um duplo-clique nos IBTransaction)


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar