Entwickler-Ecke
Datenbanken - Neuen index erstellen, und alten aktualisieren
Holla - Sa 30.11.02 18:39
Titel: Neuen index erstellen, und alten aktualisieren
Hallo,
weiß jemand wie man einen Index zur Laufzeit neu erstellt, und einen bestehenden Index aktualisiert?
Ich habs mit folgenden Code versucht
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| Table1.Close; Table1.Exclusive := True; Table1.Open; except end;
try res := DbiRegenIndexes(Table1.Handle); if res <> DBIERR_NONE then begin DBIError(res); end; except end; Table1.Close; Table1.Exclusive := FALSE; try Table1.Open; except end; |
Spätestens beim ersten Table.Open erhalte ich die Fehlermeldung, das die
Datenbank in Benutzung ist
Was kann ich machen?
Holla
(01.12. 11:20 Tino) Code-Tags hinzugefügt.
MrSpock - Sa 30.11.02 22:27
Hallo Holla,
mir ist nicht ganz klar, was du mit dem ersten Code-Teil erreichen willst. Einen Index hinzufügen funktioniert mit AddIndex.
Die Fehlermeldung deutet darauf hin, dass die Tabelle noch geöffnet ist. Deshalb kann sie nicht exklusiv geöffnet werden. Möglicherweise hast du in der IDE bei TTable Active auf True gesetzt?
Holla - So 01.12.02 13:00
Titel: Index erstellen
Hallo,
mit AddIndex habe ich es auch versucht, funktioniert überhaupt nicht bei mir.
Den obigen Code habe ich aus dem Forum geklaut, dachte so wüde man einen bestehenden Index aktualisieren
Holla - So 01.12.02 13:13
Titel: Index erstellen
Hallo Mr Spock,
dein Hinweis war genau der Punkt, ich hatte TTable.Active im Objectinspektor auf True gesetzt, nun funktionierst.
Danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!