Entwickler-Ecke

Datenbanken - Primary Index wird bei Paradoxtabelle nicht kopiert


Lake - Sa 27.03.10 08:34
Titel: Primary Index wird bei Paradoxtabelle nicht kopiert
Ich will eine Paradox Tabelle kopieren. Diese hat einen Primary Index. Mit nachfolgendem Code funktioniert das Kopieren, aber es wird nur die Tabelle erzeugt und nicht der Index.

Warum wird der Primary Index nicht mit kopiert?


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
with tblNeu do
begin
  close;
  TableName := sNeuTblName;
  FieldDefs.Assign(tblAlt.FieldDefs);
  IndexDefs.Assign(tblAlt.IndexDefs);
  createTable;
end;


RonLipp - Mo 12.04.10 15:23

Das sieht so aus, als ob nur die Struktur der Tabelle kopiert werden soll.
Leider ist der Primärindex in IndexDefs nur sichbar und kopierbar, wenn ein Sekundärindex enthalten ist.
Ein ganz anderer Lösungsansatz geht mit DbiCopyTable: Hier wird die gesamte Tabelle kopiert und anschließend geleert. Dabei wird auch der Primärindex kopiert.


Lake - Di 13.04.10 17:18

Vielen Dank, funktioniert einwandfrei. Der Primary Index wird hier mit kopiert.

Das bringt in diesem Fall aber nichts, da der Tabellen Level gleich bleibt. Die Tabellen müssen neu angelegt und danach gefüllt werden, um einen höheren Level zu erhalten. (waren alles Tabellen mit Level 4).

Trotzdem vielen Dank, wenn es nicht so viel gewesen wäre hätte ich es per Hand erledigt. In der Zwischenzeit habe ich es mit etwas mehr Aufwand anders gelöst.