AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank Reorganisation???

Datenbank Reorganisation???

Ein Thema von Christian18 · begonnen am 17. Okt 2005 · letzter Beitrag vom 17. Okt 2005
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Datenbank Reorganisation???

  Alt 17. Okt 2005, 14:44
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Hallo Leute,

ich soll ein kleines Tool schreiben, womit man eine Paradox 7 Tabelle Reorganisieren kann. Habt Ihr eine Idee was das ist und wie man das macht??? Ich habe mal einen kleine Bsp. Tabelle erstellt.

MFG Christian18
Angehängte Dateien
Dateityp: zip test_db_545.zip (1,0 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von MarcoWarm
MarcoWarm

Registriert seit: 10. Sep 2003
Ort: Großhennersdorf
532 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Datenbank Reorganisation???

  Alt 17. Okt 2005, 14:57
immer noch Paradox.... armer Kerl

http://info.borland.com/devsupport/b...structure.html
Marco Warm
TUO
TheUnknownOnes.net
  Mit Zitat antworten Zitat
dstein

Registriert seit: 28. Jul 2005
Ort: Dormagen
51 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

Re: Datenbank Reorganisation???

  Alt 17. Okt 2005, 15:29
Ich habe da was aus alter Zeit gefunden

DaBa#s
reinitialisieren

Wenn sich mal wieder einer Ihrer Index umgedreht hat, ist es nötig, die zugrundeliegende Tabelle zu reindizieren.
Dazu stellt das TTable-Objekt keinerlei Methodik zur Verfügung.
Allerdings haben Sie ja Zugriff auf die BDE auf Systemebene (siehe Beitrag Blick hinter die Kulissen).
Denn hier stehen Ihnen alle Routinen zur Verfügung, mit denen sich dBase- und Paradox-Tabellen bearbeiten lassen.
Dazu zählt auch die Funktion DbiRegenIndexes.
Mit ein paar Kniffen erhalten Sie daraus eine praxistaugliche Funktion, mit der Sie beliebige Tabellen vom Typ TTable reindizieren:

Delphi-Quellcode:
Function DBReIndex(tbl: TTable) : Boolean;
Var bOpen, bExclusive : Boolean;
Begin
bOpen := tbl.Active;
bExclusive := tbl.Exclusive;
Try
Try
If Not tbl.Exclusive Then
Begin
tbl.Close;
tbl.Exclusive := True;
End;

if Not tbl.Active Then
tbl.Open;

Check(DbiRegenIndexes(Tbl.Handle));
Finally
Result := True;
End;
Except
On E: Exception Do Begin
ShowMessage(E.Message);
Result := False;
End;
End;
If bExclusive And bOpen Then
{alles OK => nichts tun}
Else
Begin
tbl.Close;
tbl.Exclusive := bExclusive;
tbl.Active := bOpen;
End;

End;
Damit die Routine auch ordnungsgemäß kompiliert, müssen Sie verschiedene Bibliotheken in der Uses-Klausel nennen.
Dazu gehören natürlich die beiden Datenbank-Units DBTables und DB,
aber genauso die beiden Interface-Deklarationsdateien DBIProcs und DBITypes.

[edit=r_kerber]Delphi-Tags eingefügt. Das nächste Mal bitte selbst machen. Mfg, r_kerber[/edit]
Dirk
- Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
(Seneca, röm. Dichter u. Phil., 4 v. Chr. - 65 n.Chr.) -
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz