DADOS SUMINDO DO BANCO

SACOFRITO 18/05/2011 08:10:25
#374234
Bom dia galera.

Tenho um cliente que o sistema está em fase de testes. Maaaas o cliente se queixou que os dados do cadastro de clientes que ela cadastrou, sumiu(uma coisa de 5 clientes novos que ela cadastrou, sumiu do nada, de um dia para o outro)
Mas eu levo a propria maquina deles para minha casa, coloco o projeto na maquina, compilo la, testo diversas vezes(inserçao, update, delete, mais inserçao etc) e nada acontece. Simplesmente nada, poderia ela estar deletando sem querer os registros?

Estive pensando em fazer uma tabela de lixeira, e junto a cada delete criar um arquivo txt em alguma pasta informando a tabela que foi excluido, a hora, usuario, e qual registro etc. Para ver se acho o que foi o problema.

Estou maluco, pois nao consigo receber mensalidade e as (como conhecemos na empresa onde trabalho) [Ô]coisas do capeta[Ô] nao param.

O que voces acham que eu poderia fazer para tipo, ir fechando o cerco até achar o problema? O resto do sistema esta funcionando, mas para eles usarem o resto o cadastro de clientes é o primeiro passo.

PS: Uso access 2003. Pensei na possibilidade de corromper o banco e tal, mas o sistema está em apenas UMA máquina. Na empresa onde trabalho existe um cliente que utiliza cerca de 10 maquinas e essas coisas de doido nunca aconteceram.
Me ajudem

NETMANIA 18/05/2011 08:17:05
#374236
Faça um log em arquivo texto das operações de banco. Pode ter um espertinho que está acessando o banco de dados e apagando os dados sem o outro perceber.

Já pensou em colocar uma senha forte no banco de dados? Exemplo Vbm@n!a2011
SACOFRITO 18/05/2011 08:20:17
#374237
Pois é, pensei na senha, deixar a pasta raiz do sistema oculta. Pois o pessoal la nao tem conhecimento para ficar operando isso só de sacanagem
FEDERHEN 18/05/2011 10:00:50
#374242
Outro dia eu ví um projeto onde o programador não usava UPDATE para fazer alteração de registro. Quando o usuário alterava um registro, ele usava DELETE e INSERT.

Acontecia a seguinte situação: O INSERT as vezes dava erro e cancelava o programa. Só que o DELETE já tinha apagado o registro e o INSERT não era executado, e assim sumia o registro no banco de dados. (SITUAÇÃO PARECIDA COM A TUA)

Não pode estar acontecendo algo identico no teu caso ???
LLAIA 18/05/2011 10:02:41
#374243
Citação:

:
Cara.

Tenta migrar para SQLSERVER.

E caso voce nao queira, tenta colocar uma outra senha no banco de dados como disse nosso colega acima.

Tambem tire todos os botões do seu projeto [Ô]EXCLUIR[Ô] ....[Ô]DELETAR[Ô] ....... em meus projetos por exemplo nao existyem esses botões, porque se o usuario tem que [Ô]desativar o cliente[Ô] e nunca excluir e assim por diante.



Isso mesmo. Se o cliente existe no sistema, com certeza outras tabelas dependem das informações desse registro.
MARCONDES 18/05/2011 10:09:06
#374245
Eu particularmente utilizo o DELETE depois oINSERT INTO porém uso o BeginTrans para não ter este problema.
MSMJUDAS 18/05/2011 11:53:49
#374256
Dependendo da situação eu tbm uso o DELETE e logo após o INSERT, com o BeginTrans, CommitTrans e em caso de erro o RollBackTrans. Nunca tive problemas e as vezes é até melhor usar assim, para que o controle fique mais ágil e pra não perder tempo conferindo registro por registro e atualizando com UPDATE.
SACOFRITO 18/05/2011 13:55:27
#374278
Bom galera, nao é esse o caso, pois nao uso insert, update etc.
Manipulo meu dados sempre abrindo query por um recordset. Verifico se ja existe, se sim dstabela.edit, senao dstabela.addnew
E para excluir a mesma coisa...procuro o registro com sua chave primaria, se achou, recordset.delete
em alguns casos faço assim, db.execute [Ô]delete * from tabela where bla bla[Ô]

Entao este problema nao esta ocorrendo nao.
Vou tentar fechar o cerco, pois o cliente esta começando a usar o sistema agora, ou seja, esta atualizando o cadastro antigo, nem chegou a usar outras partes do sistema que depende do cadastro de clientes.

Obrigado pela opiniao de todos, continuo aguardando mais dicas para fechar o cerco. Tive uma conversa com meu avô que é presidente da entidade, e ele autorizou a simplesmente desabilitar o botao excluir, será apenas usado a opçao ativado - sim ou nao.

WHELLNET 18/05/2011 14:44:39
#374286
Cara, usuário é fogo hein

Eu particularmente exclui o comando DELETE dos meus sistemas, coloquei um campo Excluido no banco e quando o usuário tenta excluir, eu apenas dou um UPDATE excluido = [ô]1[ô];
ANDPAG 18/05/2011 15:00:19
#374287
Tem uma técnica que é a seguinte: Voce nunca usa UPDATE e nem INSERT no banco,,,, por exemplo um cliente que não existe mais,,, voce apenas define ele como Inativo,,,, outra coisa se for preciso alterar algum dado no cadastro do cliente voce simplesmente não usa o UPDATE e sim INSERT, isso mesmo voce insere novamente o mesmo cliente só que com os dados novos e mantem o registro antigo no banco, assim nas operações do sistema como relatorios, ou ate mesmo uma tela de venda por exemplo o sistema sempre vai trazer o ultimo registro referente a esse cliente (que é o mais atual)...com isso voce sempre vai ter um historico completo de seu cliente.... por exemplo daqui a 2 anos voce vai saber quantas vezes o cliente mudou de telefone ou endereço por exemplo,,,, isso é uma das tecnias que existe em relação a cadastros e que pode resolver o problema de exlcusão.... em relação ao banco deixe ele sempre protegido com senha para que ninguem possa entrar direto nele e apagar os registros na mão....

ate mais e abs
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas