Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Aus Datenbank über Query bestimmtes Feld lesen (https://www.delphipraxis.net/31214-aus-datenbank-ueber-query-bestimmtes-feld-lesen.html)

JSB 6. Okt 2004 07:59


Aus Datenbank über Query bestimmtes Feld lesen
 
Wie kann ich aus einer DB ein bestimmtes Feld lesen?

Ich habe es so ausprobiert: :?

Delphi-Quellcode:
LZ:=qzeiterfassung.FieldByName('Zeit').AsDateTime;
aber so nimmte er einfach das Feld "Zeit" aus dem ersten Datensatz. Wie kann ich ihm sagen das er das Feld "Zeit" aus einem Datensatz nehmen soll wo das Feld "Mitarbeiter-ID" gleich z.B. "1" ist???? :?:

:freak: :roll: :?:

Gollum 6. Okt 2004 08:11

Re: Aus Datenbank über Query bestimmtes Feld lesen
 
Hallo,

mit einer Query:
Delphi-Quellcode:
  ...
  aQuery.Close;
  aQuery.SQL.Text:='SELECT Mitarbeiter-ID FROM MeinerTabelle WHERE (Mitarbeiter-ID=1)';
  aQuery.Open;
  if (aQuery.RecordCount=1) then ShowMEssage('gefunden');
  ...
Da ich nicht weiss, mit welcher DB Du arbeitest, kann es sein, dass Du die Feldbezeichnung "Mitarbeiter-ID" entweder in Anführungszeichen od. eckige Klammern einschließen musst.

schlock 6. Okt 2004 10:26

Re: Aus Datenbank über Query bestimmtes Feld lesen
 
Hallo,
grundsätzlich kannst Du mit den Methoden First, Next und EOF arbeiten um durch die die Datensätze zu Navigieren.
z.B.
Delphi-Quellcode:
// Auf ersten Datensatz gehen
qzeiterfassung.First;


while not qzeiterfassung.EOF do // Solange der letzte Datensatz nicht erreicht ist
begin
  if qzeiterfassung.FieldByName('Mitarbeiter-Id').AsInteger = 1 then
    LZ:= qzeiterfassung.FieldByName('Zeit').AsDateTime;

  // Nächster Datensatz
  qzeiterfassung.Next;
end;
Die Lösung von Gollo das Select anzupassen ist natürlich auch richtig, zeigt aber
nicht wie man durch die Datensätze navigiert.
Hoffe das hilft.

DP-Maintenance 7. Okt 2004 12:26

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "Datenbanken" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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