Perdendo dados de tabelas paradox

Delphi

10/09/2003

Continuo perdendo dados em minhas tabelas, da última vez me falaram para colocar no afterpost da tabela dbiSaveChanges(Table1.handle);
mas mesmo assim perde, e as tabelas q são relacionadas não perde nada só a tabela principal por exemplo: tenho uma de pedidos e outra de itens do pedido, os ítens continuam lá mas o pedido perde, isso acontece quanto dá algum problema de indece ou qdo trava o sistema, uso tabela paradox, alguém tem alguma idéia de como eu poça evitar estas perdas.


Janete

Janete

Curtidas 0

Respostas

Nigro

Nigro

10/09/2003

A dica sobre o DBISaveChanges é mais do que válida, e a única forma ded não perder dados.
Mas você disse que o sistema às vezes trava, é preciso ver o porque, disseo, pois assim não há base que resista.
Você também disse que está com problemas de índice, nesse caso sugiro que retire todos os íindices, foi o que eu fiz, e mude todas as suas consultas para uma Query, pois dessa forma o usuário não vai mexer diretamente no banco e sim em uma imagem que seria criada no cache local.


GOSTEI 0
Janete

Janete

10/09/2003

Não sei mais o que fazer qto a perder esses dados em q falei, é que já verifiquei tudo q podia e não consigo achar o problema a tabela vai gravando e não perde nada durante +ou- 30 dias e derrepente some absolutamente tudo e em todos os meus programas está fazendo isso somente nesta tabela q estou trabalhando. Já refiz a tabela várias vezes recriei tudo mas é incrível. Se alguém puder me dar uma luz do que poder ser isso.


GOSTEI 0
Raptor

Raptor

10/09/2003

Cara colega, apoio o que o colega NIGRO relatou sobre as Query´s, utilizando os componentes TTable sempre me trouxeram problemas, veja nos sites de Delphi através de uma procura no Google que vc vai ver algumas dicas até para ganhar velocidade nas Query´s. Acesso direto ao banco de dados é sempre arriscado, principalmente em Rede.

Raptor


GOSTEI 0
Janete

Janete

10/09/2003

Não sei mais o que fazer qto a perder esses dados em q falei, é que já verifiquei tudo q podia e não consigo achar o problema a tabela vai gravando e não perde nada durante +ou- 30 dias e derrepente some absolutamente tudo e em todos os meus programas está fazendo isso somente nesta tabela q estou trabalhando. Já refiz a tabela várias vezes recriei tudo mas é incrível. Se alguém puder me dar uma luz do que poder ser isso.


Esse problema q tenho é somente em uma tabela que tenho do caixa então tudo que é pago e recebido vai pra lá aparentimente tá tudo certo fica por 30 diar +ou- e derrepente some tudo como falei acima, a questão do pedido que falei na primeira dúvida foi resolvido, só preciso agora achar esse problema de perder todo meu caixa derrepente.


GOSTEI 0
Renan

Renan

10/09/2003

vc ja conferiu se no afterpost o nome da tabela esta correto e que nao esta execultado evento de outro componente.


GOSTEI 0
Marconi

Marconi

10/09/2003

Entrei na conversa agora mas tenho um palpite.

Se voce esta perdendo quando dá um travamento por indice, talvez possa ter indices repetidos, aí eles são descartados. Neste caso uma tabela de descarte deve estar sendo gerada. Veja se não foi gerada nenhuma outra tabela no seu banco de dados.

Marconi


GOSTEI 0
Janete

Janete

10/09/2003

vc ja conferiu se no afterpost o nome da tabela esta correto e que nao esta execultado evento de outro componente.


Verifiquei em todas as tabelas é está assim:
dbiSaveChanges(Tabela.handle);
acho que é o correto


GOSTEI 0
Janete

Janete

10/09/2003

Entrei na conversa agora mas tenho um palpite. Se voce esta perdendo quando dá um travamento por indice, talvez possa ter indices repetidos, aí eles são descartados. Neste caso uma tabela de descarte deve estar sendo gerada. Veja se não foi gerada nenhuma outra tabela no seu banco de dados. Marconi


Verifiquei os indices estão corretos, e o sistema não está travando, trabalha normalmente mas é só passar um tempinho e simplismente perde os dados do meu caixa todinho.


GOSTEI 0
Pedro Bugim

Pedro Bugim

10/09/2003

Putz! Coisas do Piradox!
Já pensou em utilizar um banco de dados de verdade, tipo o Interbase ou firebird?!
Caso não seja possível, como já foi dito acima, tente evitar tables, substituindo-as por querys. Outra solução (ou melhor... um pequeno bacalhau), seria vc criar uma rotina de backup em seu sistema. Ou seja, ao sair do sistema por exemplo, o bd que está utilizando seria copiado. Então, no dia em que os dados simplesmente sumirem, vc restaura o Backup mais recente (isso pode ser feito no próprio programa, implementando-o com uma rotina de restauração de backup).
espero ter dado uma ajuda!
Abraços,


GOSTEI 0
Alessandrobenevides

Alessandrobenevides

10/09/2003

Amigo, pelo amor de Deus, saia logo desse tal de Paradox(Piradox), tive esses mesmos problemas e acabei me stressando com ele. Migre logo seus BD!!!!!!!!!!!!!
alessandrobenevides@hotmail.com


GOSTEI 0
Claudenir.antunes

Claudenir.antunes

10/09/2003

[quote:fbf563b871=´renan´]vc ja conferiu se no afterpost o nome da tabela esta correto e que nao esta execultado evento de outro componente.


Verifiquei em todas as tabelas é está assim:
dbiSaveChanges(Tabela.handle);
acho que é o correto[/quote:fbf563b871]



Vc declarou na cláusula uses assim: DBIProcs ????
Bem, nunca testei sem declarar na uses, acho q não funcionaria!


GOSTEI 0
POSTAR