![]() |
Ausgabe bei doppelten daten
Hio
ich bins mal wieder :) Ich habe in einer Datenbank mehrere gelogte Daten wo in meinen Fall die namen mehrfach auftreten. naja diese lass ich mir in einer stringgrid ausgeben. mit den Befehl fieldbyname('name'). Naja ich sehe da halt alle namen mehrfach wie kann ich das machen das ich nur einmal diesen namen sehe. Müsste ja anfürsich mit einer if Anweisung gehn weiß aber nicht wie die aussehen könnte. kann mir mal bitte einer helfen? Kruemel |
Re: Ausgabe bei doppelten daten
Hallo,
Du kannst mit IndexOf feststellen, ob ein Eintrag schon in der Stringlist vorhanden ist:
Delphi-Quellcode:
Die bessere und sinnvollere Vorgehensweise wäre, mit einer Query die Daten aus der DB auszulesen:
...
if (MyStringList.IndexOf('Irgendwas')<>-1) then MyStringList.Add('Irgendwas'); ...
Delphi-Quellcode:
with Query1 do
begin Close; // mit DISTINCT wird die Query veranlasst, keine doppelten Inhalte anzuzeigen SQL.Text:='SELECT DISTINCT MeinFeld FROM MeinerTabelle'; Open; while not Eof do begin MyStringList.Add(FieldByName('MeinFeld').AsString); Next; end; // while end; // with |
Re: Ausgabe bei doppelten daten
naja mein befehl sieht so ähnlich ja schon aus aber was heißt das DISTINCT ? daskenn ich nicht.
also meiner sieht so aus.
Delphi-Quellcode:
aber so wird halt bei mir die doppelten daten angezeigt. Und das will ich ja nicht. Ich möchte wenn der datensatz schon gibt also der name schon einmal in der stringgrid drin ist er nicht nochmal reingeschrieben wird.
with Query3 do
begin i := 0; SQL.Clear(); SQL.Add('Select b.Personal_id, p.ID, p.Name from kbook b, Personal p, Ist i where b.Personal_id = p.ID'); open; while not Eof do begin ListePersonal.RowCount := ListePersonal.RowCount + 1; ListePersonal.Cells[0,i] := fieldbyname('Name').AsString; i := i+1; Next; end; end; |
Re: Ausgabe bei doppelten daten
Hallo,
Zitat:
|
Re: Ausgabe bei doppelten daten
hmm aha aber wenn ich nur denn Namen nicht doppelt haben möchte und dafür andere felder schon aber zum Beispiel ein Datum würde es mit distince ja nicht gehn oder sehe ich das falsch?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz