Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Daten aus einer Select-Anweisung auslesen ohne DataGrid

  Alt 13. Feb 2011, 09:45
Ich möchte keine Datenbank-Komponenten (DBGrid oder ähnliches) verwenden
Du meinst du willst keine Datenbank-Controls verwenden.
Ich denke, als Delphi Programmierer sollte man hier etwas präziser sein.
Aber jetzt zur eigentlichen Frage.
Um Daten aus einer Datenbank zu lesen muss man eine Abfrage ausführen.
Query-Komponenten sind von TDataset abgeleitet und erben daher dessen Methoden und Properties.
In folgendem Beispiel werden zwei Wege gezeigt, um auf die Inhalte der Felder zuzugreifen.
Der Weg über .FieldByName().AsXXXX ist zwar aufwändiger zu schreiben, aber gerade beim
Lesen häufig nötig um die Exception "ungültige Variantumwandlung" zu vermeiden.
(denn Felder können auch "NULL" enthalten)
Delphi-Quellcode:
var
  summe : double;
begin
  // eine Query öffnen und mit einer Schleife die Werte im Feld "Preis" aufsummieren
  Query1.SQL.Text := 'SELECT * FROM Details';
  Query1.Open; // entspricht .Active := True;
  while not Query1.Eof do
  begin
    if Query1['Kategorie'] <> 'deletedthen
      summe := summe + Query1.FieldByName('Preis').AsFloat;
    Query1.Next;
  end;
  Query1.Close;
PS: da nur gelesen wird, werden keine Transactions gebraucht.
  Mit Zitat antworten Zitat