ADO & Access mit Delphi

Kurze Einführung

Systemvoraussetzungen

Typbibliothek importieren

Ein einfachen Beispiel

Ein etwas umfangreichers Beispiel

Allgemeines


Copyright (c) Elmar Herzog 2001.

Version 1.0

Ein etwas umfangreichers Beispiel

In diesem Beispiel wird die Access-Datei (ado2.mdb) über die Tabelle "Datenbank" in eine TList geladen. Dafür sind folgende Schritte notwendig:

  • Werte des Datensatzes in ein Record speichern. (Ein Datensatz hat in diesem Beispiel zwei Felder)
  • Dieses Record in die TList (FehlerStrings) hinzufügen.
  • Ausgabe in einem TEdit und TMemo

Das Programm ist so aufgebaut:

  • FormCreate erzeugt beim Programmstart eine neue TList (FehlerStrings)
  • FormShow läd die Daten über LoadData in die TList. Falls die Accees-Datei nicht geöffnet werden kann, wird ein Standard-Datensatz geladen. Ausserdem werden die Datenbankbuttons aktiviert/deaktiviert.
  • Mit dem Einfügen-Button wird ein neuer Datensatz nach dem aktuellen eingefügt.
  • Mit dem Löschen-Button wird der aktuelle Datensatz gelöscht.
  • Vor-Rückwärts prüfen bei jedem Klick die Position der Datensätze und aktivieren/deaktivieren die jeweiligen Buttons.
  • Mit dem Abbrechen-Button werden die Änderungen in der TList nicht in die Access-Datei übernommen.
  • Mit dem Ok-Button werden alle Änderungen in die Access-Datei übernommen. Diese Aufgabe übernimmt die Funktion SaveData

Einige wichtige Stellen im Quelltext und ihre Bedeutung:

if not (vRecordSet.Fields.Count = 2) then Exit;

Mit vRecordSet.Fields.Count = 2 wird überprüft ob pro Datensatz auch nur zwei Felder vorhanden sind.

vRecordSet.Fields[0].ActualSize <> 0

Mit ActualSize wird die Länge des Feldes des Datensatzes ermittelt. Bei ungleich 0 sind Daten im Feld vorhanden.

aRecordSet.AddNew(EmptyParam, EmptyParam)

Fügt einen neuen Datensatz zur Access-Datei hinzu. EmptyParam legt fest, dass ein optionaler Parameter bei einer dualen Schnittstelle nicht verwendet wird.

aRecordSet.Delete(1)

Diese Funktion löscht einen Datensatz aus der Access-Datei.

Wie Sie sehen, können Sie jederzeit die Anzahl der Datensätze mit dem Delphi Programm beeinflussen. Löschen und Hinzufügen kein Problem. Sie könnten auch die Felder der Datensätze jederzeit verändern. Das kann aber in diesem Beispiel nicht gezeigt werden.

Sie fragen Sie jetzt warum ich den Umweg über eine TList und ein Record gegangen bin, wenn man die Daten doch gleich aus der Accees-Datei in das TEdit und TMemo einlesen kann? Damit haben Sie recht. Ich wollte hier in diesem Beispiel nur zeigen, dass es auch möglich ist, die Daten in jeder beliebigen Delphi-Komponente mit einzubauen bzw. weiterzuverarbeiten.