Reindexar Tabelas Paradox
Tentei fazer esta rotina:
function DbiRegenIndexes(hCursor: hDBICur): DBIResult stdcall;
procedure Reindexar(Tabela : TTable);
var
I : Integer;
Lista_Tabelas : TStrings;
begin
Lista_Tabelas := TStringList.Create;
for I := 0 to Application.ComponentCount - 1 do
begin
if Application.Components[I] is TTable then
begin
Lista_Tabelas.Add(TTable(Application.Components[I]).TableName);
end;
end;
for I := 0 to Lista_Tabelas.Count - 1 do
begin
Tabela.Close;
Tabela.TableName := Lista_Tabelas[I];
try
Tabela.Exclusive := True;
Tabela.Open;
Check(dbiRegenIndexes(Tabela.Handle));
Tabela.Exclusive := False;
except
raise;
end;
end;
Lista_Tabelas.Free;
end;
Mas o Delphi reclama e diz que a variável [b:24c79861cc]hDBICur[/b:24c79861cc] não está declarada, e eu não consegui nenhuma referência desta variável no Help.
Alguém sabe uma rotina de Reindexação de tabelas Paradox, por favor, para me enviar ou me dar uma referência.
Obrigado.
function DbiRegenIndexes(hCursor: hDBICur): DBIResult stdcall;
procedure Reindexar(Tabela : TTable);
var
I : Integer;
Lista_Tabelas : TStrings;
begin
Lista_Tabelas := TStringList.Create;
for I := 0 to Application.ComponentCount - 1 do
begin
if Application.Components[I] is TTable then
begin
Lista_Tabelas.Add(TTable(Application.Components[I]).TableName);
end;
end;
for I := 0 to Lista_Tabelas.Count - 1 do
begin
Tabela.Close;
Tabela.TableName := Lista_Tabelas[I];
try
Tabela.Exclusive := True;
Tabela.Open;
Check(dbiRegenIndexes(Tabela.Handle));
Tabela.Exclusive := False;
except
raise;
end;
end;
Lista_Tabelas.Free;
end;
Mas o Delphi reclama e diz que a variável [b:24c79861cc]hDBICur[/b:24c79861cc] não está declarada, e eu não consegui nenhuma referência desta variável no Help.
Alguém sabe uma rotina de Reindexação de tabelas Paradox, por favor, para me enviar ou me dar uma referência.
Obrigado.
Fabio Colli
Curtidas 0
Respostas
Bacalhau
10/08/2003
Caro colega,
Para fazer reindexação em Paradox, tens que apagar os indexes existentes (aqueles ficheiros xg0, xg1, px, etc) e utilizar o comando ´CreateIndex´. O ´CreateIndex´ vai precisar de diversos parâmetros refrentes aos indexs: se é primário, case sensitive, etc.
A sintaxe é ´table1.createindex(<parametros aqui>);
O melhor é ler o que o help diz sobre esses parametros
Abraço do bacalhau
Para fazer reindexação em Paradox, tens que apagar os indexes existentes (aqueles ficheiros xg0, xg1, px, etc) e utilizar o comando ´CreateIndex´. O ´CreateIndex´ vai precisar de diversos parâmetros refrentes aos indexs: se é primário, case sensitive, etc.
A sintaxe é ´table1.createindex(<parametros aqui>);
O melhor é ler o que o help diz sobre esses parametros
Abraço do bacalhau
GOSTEI 0