 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
thebest.fer Novato

Registrado: Segunda-Feira, 22 de Janeiro de 2007 Mensagens: 1
|
Enviada: Seg Jan 22, 2007 3:38 pm Assunto: Corrupt File |
|
|
Olá Pessoal estou precisando muito da ajuda de vcs, estou com um baita pepino, uso do Banco de dados Paradox. e tem um arquivo movto.db que quando abro ele no dbd32 do descendo com a barra de rolagem ele chega quase no final..trave e some tudo....e da a mensagem de CORRUPT FILE OTHER THAN READER...ja exclui..arquivos..val.px.y.x.mb.recriei as tabelas e nada..usei o doctor expert..e nada..alguém pode me ajudar por favor!!!!!!
Obrigado |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Dom Jan 28, 2007 6:28 pm Assunto: |
|
|
Já tentou copiar os dados para outra tabela com a mesma estrutura talvez de certo...
procedure TFormCopia.BitBtn1Click(Sender: TObject);
var
I: Integer;
begin
Database1.Connected:=True; // Database para controle
Table2.DatabaseName:=DirectoryListBox1.Directory; // Seleciona local de destino da cópia
with Session1 do
begin
Active:=True;
GetTableNames('AliasName','*.*',True,True,Memo1.Lines); // Retorna o nome das tabelas
end;
for I:= 0 to Memo1.Lines.Count - 1 do
begin
Table1.TableName:=Memo1.Lines[I]; // Tabela origem
Table2.TableName:=Memo1.Lines[I]; // Tabela destino
BatchMove1.Execute;
end;
end;
Para efetuar a restauração:
procedure TFormRestaura.BitBtn1Click(Sender: TObject);
var
I: Integer;
begin
Database1.Connected:=True;
Table2.DatabaseName:=DirectoryListBox1.Directory; // Origem da restauração
with Session1 do
begin
Active:=True;
GetTableNames(Table2.DatabaseName,'*.*',True,True,Memo1.Lines); // Retorna nomes das tabelas
end;
for I:= 0 to Memo1.Lines.Count - 1 do
begin
Table1.TableName:=Memo1.Lines[I]; // Tabela origem
Table2.TableName:=Memo1.Lines[I]; // Tabela destino BatchMove1.Execute;
end;
end;
Após restaurar por este método, você deve recriar os índices.
bye... |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Dom Jan 28, 2007 7:09 pm Assunto: |
|
|
Isto tb pode te ajudar, não custa tentar...
695 - Como copiar tabelas Paradox para Texto ou DBase e vice-versa
1) Inclua um TDATABASE no seu Form e sete as seguintes propriedades:
DatabaseName = 'Temp'
DriverName = 'STANDARD'
Params.Strings = 'path=c: este' (ou qq outro path)
Connected = True
2) Inclua outro TTable em seu Form e sete as seguintes propriedades:
DatabaseName = 'Temp'
Name = 'DESTINO'
TableType = ttASCII ou ttDbase ou ttParadox
TableName = o nome da nova tabela, sem extensão. Ex: 'Clientes'
IMPORTANTE: Não mexa na propriedade ACTIVE.
3) Inclua um TTable em seu Form, contendo a tabela que você quer copiar e mude a propriedade Name para ORIGEM.
IMPORTANTE: Não mexa na propriedade ACTIVE.
4) Inclua um TBATCHMOVE em seu Form e sete as seguintes propriedades:
Destination = 'DESTINO'
Mode = batCopy
Source = 'ORIGEM'
5) Inclua um TBUTTON em seu form e dê um duplo click no evento OnClick.
6) Escreva o seguinte código na procedure OnClick:
var
fn: FMTNumber;
begin
// O código a seguir verifica se o separador de
// decimais é virgula e muda-o, para evitar
// problemas de compatibilidade
Check(DbiGetNumberFormat(fn));
if fn.cDecimalSeparator = ',' then
begin
fn.cDecimalSeparator := '.';
fn.cThousandSeparator := ',';
DbiSetNumberFormat(fn);
end;
// Aqui executamos a CÓPIA
BatchMove1.Execute;
end;
bye.... |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|