Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Reindexar Tablas Paradox (Principiante) (https://www.clubdelphi.com/foros/showthread.php?t=15831)

jmedina 05-11-2004 23:12:00

Reindexar Tablas Paradox (Principiante)
 
Buen Dia:

He revisado algunos hilos, y el truco 339 de trucomania, pero no me queda muy claro coomo utilizar el codigo, en donde ponerlo, que parametros hay que asignarle.

Alguien me puede ayudar no soy muy bueno en esto , solo se que hago pininos, lo que pretendo reindexar son aproximadamente 4 tablas, espero me ayuden y me proporcionen una lineas de codigo explicadas,

_Gracias,

Saludos
Jmedina

marcoszorrilla 06-11-2004 13:56:03

Aquí tienes un ejemplo:

Código Delphi [-]
  unit Unit1;
  
  interface
  
  uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls,Db, DBTables,  Bde;
   
  type
    TForm1 = class(TForm)
      Button1: TButton;
      procedure Button1Click(Sender: TObject);
    private
      { Private declarations }
    public
      { Public declarations }
    end;
  
  var
    Form1: TForm1;
  
  implementation
  
  {$R *.DFM}
  
  procedure RegeneraIdx(Const ADatabase, ATable : String);
  begin
   with TTable.Create(nil) do 
    try
     DatabaseName := ADataBase;
      TableName := ATable;
      Exclusive := True;
      Open;
      Check(DbiRegenIndexes(Handle));
    finally
     Free;
    end; 
  end;
  
  procedure TForm1.Button1Click(Sender: TObject);
  begin
   RegeneraIdx('DbDemos', 'Customer.db');
  end;

Un Saludo.

roman 06-11-2004 19:24:38

Nada más agregar que dbiRegenIndexs no siempre va a dar resultado. Muchas veces no queda más remedio que borrar manualmente los archivos de índice (que se llaman igual que la tabla pero con extensión px, xg0, xg1, yg0, yg1) y volverlos a crear. Al borrar estos archivos no se pierden los datos en sí de la tabla. Y puedes automatizar este proceso programando una rutina que se encargue de borrar los archivos y utilizando el método AddIndex de la componente TTable para crearlos por código.

// Saludos


La franja horaria es GMT +2. Ahora son las 01:20:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi