Indice paradox - muitos problemas

Delphi

25/04/2003

Estou cansada de ver problemas de índice.

Me falaram para fazer um programinha para o usuário rodar qdo desse problema da seguinte forma:

apago todos os índices e depois crio os índices novamente.

Isso seria uma solução?
Existe algum componente que faz isso?

Obrigada


Debora

Debora

Curtidas 0

Respostas

Nebrio

Nebrio

25/04/2003

Esta função recria todos seus indices...

Para usar você terá que adicionar os componentes:

Table

Database { se sua aplicação possuir este componente pode usar o mesmo}

O componente Table a propriedade exclusive tem que ser true. Senão não funciona.

Procedure Reindexar(DataBase : TDatabase; Tabela : TTable);
var
List : TStrings;
i : Integer;
begin
try
Database.Connected:=true;
except
Raise;
Exit;
end;
List:=TStringList.create;
session.GetTableNames(DataBase.aliasName, ´´, true, false,List);
for i:= 0 to List.Count - 1 do
begin
if (Entidade2) then
break;
application.ProcessMessages;
Tabela.close;
Tabela.TableName:=List[i];
Try
Tabela.open;
Check(dbiRegenIndexes(Tabela.Handle));
except
Raise;
end;
end;
List.Free;
Database.Connected:=false;
end;
Para executar a rotina você pode Incluir quando sua aplicação esta sendo iniciada

Adicionando a seguinte linha.

No evento oncreate do Datamodulo

Reindexar(Dados,Table1); //Dados Nome imposto por mim ao componente Database e Table1 o componente inserido na aplicação.


Com todo respeito, será não seria ora de trocar por um banco de dados de verdade


GOSTEI 0
Dor_poa

Dor_poa

25/04/2003

Isto é comum no banco PIRADOX, eu itilizao o VbUtil32


GOSTEI 0
POSTAR