1. Der Status des Datenbank -Alias
Die integrierte Datenbankmotor BDE (Borland Database Engine) von Delphi bietet leistungsstarke Datenbankverarbeitungsfunktionen und BDE ist der Kernteil der Datenbankfunktion von Delphi.
Das Delphi-Programm kann den Zugriff von Datenbankdaten über BDE direkt steuern. Diese Zugriffskontrolle basiert auf der Konfiguration der BDE -Parameter. Spezifische Datenbanktabellen. Bei der Erstellung einer Datenbanktabelle muss es also zwei Prozesse geben, um festzustellen, ob der entsprechende Datenbank -Alias über BDE existiert. (d. H. Datenbankname) im Datenbank -Alias (d. H. Datenbankname), ob es eine Datenbanktabelle gibt, die festgelegt werden muss, wenn sie nicht vorhanden ist, wird sie festgelegt. Auf diese Weise sind die Daten in der ursprünglichen Tabelle vor Verlust geschützt.
2. Sitzungskomponente: Schnittstelle zwischen dem Delphi -Datenbankprogramm und BDE
Delphi stellt automatisch eine Sitzungskomponente für Datenbankanwendungen bereit, die der Schlüssel zur Schnittstelle der Anwendung mit BDE ist. Im Folgenden finden Sie eine Prototypbeschreibung mehrerer Prozesse der Sitzungskomponente bezüglich der BDE -Schnittstelle.
1.GetaliasNames (Liste: TStrings);
2.AddStandardalias (const Name, Pfad, Standarddriver: String); Fügen Sie beispielsweise einen Alias mit dem Namen CNTSSAMP hinzu, der Standard -Datenbank -Treiber ist Paradox und der Speicherpfad C:/Delphp11:
Session.addStandardalias (CNTSSAMP, C:/Delphp11, Paradox);
3.gettAnlennamen (const Databasename, Muster: String; Extensions, Systemtables: Boolesche.
4.SaveConFigFile;
Verwenden Sie außerdem den Wert von list.indexof (angegebener Zeichenfolge), um festzustellen, ob in der String -Liste Zeichenfolgen erforderlich sind, um festzustellen, ob ein neuer Datenbank -Alias und eine Datenbanktabelle festgelegt werden soll.
3. Ein Beispiel
Schreiben Sie den folgenden Code in Form1.Formcreate -Ereignis. CNTSSAMP. Wenn nicht, wird die Tabelle automatisch erstellt.
Prozedur tForm1.Formcreate (Absender: Tobject
var
AP: TStringList; {StringList Variable}
Antwort: Ganzzahl;
Beginnen
AP: = tstringlist.create;
Session.getaliasNames (AP);
if (ap.indexof (cntssamp) =-1) dann {bestimmen Sie, ob der Alias existiert}
Beginnen
Antwort: = application.MessageBox (das alias cntsSAMP existiert nicht, wird jetzt erstellt?
Wenn Antwort = idcancel dann
Beginnen
ap.free;
Ausfahrt;
Ende;
Session.addStandardalias (CNTSSAMP, C:/Delphp11, Paradox);
Session.SaveConFigFile;
Ende ;
AP.Clear;
Session.gettAnlennamen (CNTSSAMP, FALSE, FALSE, AP);
if (ap.indexof (tsk) =-1) dann {bestimmen Sie, ob die Tabelle existiert}
Beginnen
Antwort: = application.MessageBox (Die Tabelle TSK existiert nicht im alias cntsSAMP, wird jetzt erstellt?
Wenn Antwort = idcancel dann
ap.free;
Ausfahrt;
Ende;
mit Tabelle 1 tun
Beginnen
Aktiv: = falsch;
Datenbankname: = CNTSSAMP;
TableName: = tsk;
Tabletype: = ttParadox;
mit FieldDefs
Beginnen Sie {field}}
Klar;
Add (sh, ftstring, 30, false);
Add (sm, ftstring, 30, false);
Add (cbs, ftstring, 20, false);
Add (cbrq, ftdate, 0, false);
Add (ys, ftinteger, 0, false);
Ende;
mit Indexdefs
Beginnen Sie {Index hinzufügen}
Clear; {Erstellen Sie den Hauptindex nach Buchnummer
Add (shsy, sh, [primär, ixunique]);
Ende;
CreatEtable; {Tabelle erstellen}
Ende;
Ende ;
ap.free; {Variable Release AP}
Ende;