Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Index einer Paradox Datenbank mit DbiRegenIndexes aufbauen (https://www.delphipraxis.net/1433-index-einer-paradox-datenbank-mit-dbiregenindexes-aufbauen.html)

hacki 25. Nov 2002 23:54


Index einer Paradox Datenbank mit DbiRegenIndexes aufbauen
 
Hi,

ich möchte den Index einer Paradox-Datenbank mit DbiRegenIndexes neu aufbauen. Und stelle mir vor, daß es folgendermaßen funktionieren soll:

Code:
try
   MasterTable.Close;
   MasterTable.Exclusive := True;
   MasterTable.Open;
  except
  end;

  try
   DbiRegenIndexes(MasterTable.Handle);
  except
  end;

  MasterTable.Close;
  MasterTable.Exclusive := FALSE;

  try
   MasterTable.Open;
  except
  end;
Korrekt ? :shock: In welcher Unit ist aber DbiRegenIndexes definiert ? Die Hilfe läßt sich darüber leider nicht ausquetschen (jedenfalls nicht unter Delphi 5 !

Gruß Hacki

MrSpock 26. Nov 2002 08:02

Hallo hacki,

die DBI Funktionen sind in der Unit BDE deklariert. Auch in der professional Version von Delphi wird diese ohne Quelltext ausgeliefert. Du findest nur die .INT (Interface Definition) und die .DCU (delphi compiled unit).

Du musst also:

Code:
uses BDE;
hinzufügen.

hacki 3. Dez 2002 12:31

Hallo MrSpock,

die Routine arbeitet nun fehlerfrei, mit dem Einbinden der BDE. Allerdings tut es nicht, was es soll. Es wird kein neuer Index angelegt. Gibt es beim neuen Erstellen noch Unterschiede zwischen Primär- und Sekundär Indexe ?

Welche Möglichkeiten gibt es denn sonst, defekte IndexDateien neu zu erstellen? :cry: :(

Ich habe die Indexdateien ursprünglich beim Erstellen der Paradox-Datenbankdateien wie folgt angelegt:

Code:
          .......
          'UebUseAlternativBeschTF BOOLEAN, '+     
          'PRIMARY KEY (UebNummerManuell)'+         // primärer Index
       ' )' );

  ExecSQLStatement('CREATE INDEX'+
                   ' UBereich ON ''Uebungen.db'' (UebBereichNummer)' );

  ExecSQLStatement('CREATE INDEX'+
                   ' UNummer ON ''Uebungen.db'' (UebNummerManuell)' );

  ExecSQLStatement('CREATE INDEX'+
                   ' UTPhase ON ''Uebungen.db'' (UebTrainingsPhase)' );
Wenn ich im Programm nun einen Index Fehler bekomme, wie kann ich diesen im Programm beheben ? :?

Danke und Gruß
Hacki

st2000 13. Okt 2003 14:30

Und dbisavechange ? Auch in Unit BDE ?
 
Hallo, ich suche nach der Methode dbisavechange. Ist die auch in der Unit BDE ? Mein entsprechender Versuch, die BDE einzubinden, quittiert mir Delphi mit ´"...undeclared identifier..."; db und dbtables sind auch in der uses drin.

Weiss jemand, welche Unit man also für dbisavechange einbinden muss ?

Gruss,
ST2000


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz