Fórum Indexar minha tabela me ajudem? #158781
08/05/2003
0
Eu queria criar um procedimento em um Botao para indexar essa tabela, mas como sou um iniciante em delphi que comando eu uso nesse botão
Obs Eu uso Banco de dados Paradox 7.
Desde já muito obrigado.
Marcelototini
Curtir tópico
+ 0Posts
08/05/2003
Arc
Como sua tabela esta pronta abra o Database, Tools, Utilities, Restructure, selecione o seu banco de dados
Em Table Properties, selecione Secondary Indexes, clique em Define, selecione um dos campos em Fields, clique na seta para a direita, clique em OK e de um nome para a sua chave...
No delphi, selecione a tabela, em indexname escolha a sua chave, que vai ser o indice da sua tabela
Gostei + 0
08/05/2003
Marcelo.c
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.
Esta rotina tem solucinado muitos problema em rede paradox, pois se esta rotina não funcionar ou funcionar me mande um email para discutirmos sobre ela
Gostei + 0
08/05/2003
Marcelo.c
uses
dbTables, DbiProcs;
begin
table1.exclusive := true;
table1.open;
dbiRegenIndexes(table.Handle);
end;
Gostei + 0
08/05/2003
Vega.x
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)