Registro em branco

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

Registro em branco

Mensagem por evaldo »

Tenho um problema no meus sistema, toda ves que cai a energia ou o computador trava, o sistema cria um registro em branco na tabela que esta aberta, ai tem que apagar o registro e o indice.
Tem solucao para este problema.
:(
rbonotto
Usuário Nível 3
Usuário Nível 3
Mensagens: 253
Registrado em: 06 Mai 2005 18:52

Re: Registro em branco

Mensagem por rbonotto »

evaldo escreveu:Tenho um problema no meus sistema, toda ves que cai a energia ou o computador trava, o sistema cria um registro em branco na tabela que esta aberta, ai tem que apagar o registro e o indice.
Tem solucao para este problema.
:(
Acho que este é um problema sério dos DBFS...ja tive clientes que após um problmea com luz, travamento, etc ao abrir o sistema estava com os bancos de dados totalmente corrompidos, cheio de códigos de maquina.

Ai se não tiver back up.... :-O
And
Usuário Nível 3
Usuário Nível 3
Mensagens: 163
Registrado em: 25 Set 2005 18:31
Localização: São Paulo/SP

Mensagem por And »

A melhor Nobreak.
Anderson
Clipper 52e/Clipper 53b/Blinker 7/Vlib/Fglib/DBFNTX
_______________________________________________
Migrando para [x]Harbour 0.99.60 (SimpLex) + MiniGUI 1.2 Exp. (Build 22)
_______________________________________________
Assine o manifesto dos artistas pela preservação da amazônia.
evaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 113
Registrado em: 27 Out 2005 23:29

Mensagem por evaldo »

preciso de uma rotina para procurar dentro do banco de dados e apagar os registro em brancos, ja tenho uma que da um modi struc e apaga os indice.
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Basta você fazer uma busca por um registro que um campo chave esteja em branco. Exemplo :

Código: Selecionar todos

USE PRODUTOS SHARED
DO WHIL .NOT. EOF()
   IF CODIGO=SPACE(6)
      RLOCK()
      DELETE
      DBUNLOCK()
   ENDIF
   SKIP
ENDDO
Vale salientar que isso não é um procedimento normal, é apenas um paliativo e que o correto é ir buscar as causas dos problemas e não ficar consertando-os, eu também uso DBFs e óbiamente que eventualmente meus clientes tem problemas com falta de energia, travamentos, etc..., porém dificilmente meus arquivos se corrompem e ou aparecem registros fantasmas.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Responder