Urgente! URGENTE! URGENTE!

Delphi

09/06/2003

Uso tabela paradox, e meu cliente não sei como deletou todos os clientes q estavão cadastrados, e não havia cópia, e gostaria de saber se tem como eu recuperálos, pois o banco de dados mesmo parecendo vazio o tamanho em bytes continua grande, agora pelo amor de Deus tem como recuperar.

Obrigado


Janete

Janete

Curtidas 0

Respostas

Marcio.theis

Marcio.theis

09/06/2003

se tivesse uma cópia de segurança poderia recuperá-los, mas sem cópia de securança não tem como, uma sugestão é vc sempre sugerir a ele fazer um backup da base.
E quanto o tamanho da base ela fica assim mesmo sevc deletar tudo que tiver dentro da base vc poderá ver que ainda tera o mesmo tamanho que quando estava com os registros, para faze-la perder este tamanho, que ficou vc deve fazer um backup restore da ferramenta do ibconsole


GOSTEI 0
Flavio Sanches

Flavio Sanches

09/06/2003

há uma luz no fim do túnel !!!

mas por favor, NÃO ME PONHA MAIS TÍTULO URGENTE,URGENTE,URGENTE
QUE A GALERA FICA DANADA DA VIDA
diga no título qual é o seu problema
sob pena de
NÃO SER RESPONDIDO!
FALOW?

mas hoje estou de bom humor...

Existe sim forma de recuperar o banco de dados do seu clientes, se é qoe paradox pode ser considerado banco.

quando deletados, os arquivos sao ´marcados pra deleção´ e só o são depois que vc der o comando pack que ´compacta´ sua tabela, o que na verdade o pack faz é mandar, efetivamente, os registros deletados pro céu dos bits perdidos.
Pra recuperá-los vc deve fazer o seguinte:

Pra vc ver os registros excluídos, insira num click de button:
DbiSetProp(hDbiObj (table1.handle),curSOFTDELETEON,1)


E pra esconde-los, passe 0 pro último parâmetro.

Agora, pra recupera-los:

Procedure RecallAll(tabela:TTable);
var
   Table: ttable;
rProps :recProps;
begin
//cria tabela auxiliar
   tabfonte:= ttable.create(self);
   with table do begin
 // configura parâmetros da tabela iguais ao da original
databasename := table1.databasename;
tablename := table1.tablename;
open;
//liga Soft Deletes
dbisetprop(hdbiobj(handle),curSOFTDELETEON,1);
refresh;
first;
// varre tabela ate o final
while not eof do begin
//verifica se o registro foi excluído
bdigetrecord(handle,dbiNOLOCK,nil,@RProps);
//recupera registro
if RProps.dDeleteFlag then
  check(bdiundeleterecord(handle));
next;
end;
close
free;
end;
end;






GOSTEI 0
POSTAR