Zitat von
davar:
Beispiel Datenbanken. Ideal wäre für mich, wenn ich in jeder Datenbank, die ich erstelle, eine Funktion "DatensatzAuslesen" immer wieder verwenden könnte. Die einzelnen Felder würden dann in ein record (z.B. Datensatz) geschrieben und ich könnte mittels "datensatz.name", "datensatz.vorname" die einzelnen Felder ansprechen.
Nun muss ich ja auch eine
Query-Komponente mit einbinden, damit der Datensatz überhaupt ausgelesen werden kann. Wie lagere ich das nun aus?
Alle
Query und Table-Komponenten werden von
TDataSet abgeleitet.
Also sollte man wann immer möglich nur Parameter der Klasse TDataset übergeben.
Beispiel:
Delphi-Quellcode:
// die Funktion FieldAvailable prüft, ob ein Feld existiert und ob es einen Inhalt hat
// (also nicht NULL ist)
function FieldAvailable(ds:TDataSet; const fn:string):Boolean;
begin
Result := (ds.FindField(fn) <> nil) and
(not ds.FieldByName(fn).IsNull);
end;
Man hätte statt dem TDataSet natürlich auch einen TQuery-Parameter übergeben können;
das wäre aber ziemlich dumm, da TDataset ja ausreichend ist.