Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Doppelte Werte aus Tabellenspalte nicht anzeigen?? (https://www.delphipraxis.net/87571-doppelte-werte-aus-tabellenspalte-nicht-anzeigen.html)

TankWart 2. Mär 2007 12:17

Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS

Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
Hallo zusammen,
ich möchte mir mit Hilfe einer Query die Werte aus einer Tabellenspalte anzeigen lassen,
dabei sollen doppelte Einträge nicht angezeigt werden.

Im Moment gehe ich noch so vor:
Delphi-Quellcode:
ZQVeranstaltung.Close;
ZQVeranstaltung.SQL.Clear;
ZQVeranstaltung.SQL.Text := 'SELECT DISTINCT vName FROM veranstaltung';
ZQVeranstaltung.Open;
da ist aber halt das Problem, das die groß und klein Schreibung nicht beachtet wird, es wird also
z.B. Rockkonzert und rockkonzert ausgegeben,
es sollte halt nur eins der beiden berücksichtigt werden.

Wie muss ich mein Statement erweitern um so was zu vermeiden?

Gruß
TankWart

mkinzler 2. Mär 2007 12:29

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
SQL-Code:
SELECT DISTINCT UPPER(vName) FROM veranstaltung;

TankWart 2. Mär 2007 12:48

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
Das Statment schluckt er so,
aber frage ich die Werte mit FieldByName nun ab, kommt die Meldung:
Feld vName kann nicht gefunden werden.
Delphi-Quellcode:
ZQVeranstaltung.Close;
ZQVeranstaltung.SQL.Clear;
ZQVeranstaltung.SQL.Text := 'SELECT DISTINCT UPPER(vName) from veranstaltung';
ZQVeranstaltung.Open;

ZQVeranstaltung.First;
if ZQVeranstaltung.RecordCount > 0 then begin
  while not ZQVeranstaltung.Eof do begin
    vName := ZQVeranstaltung.FieldByName('vName').AsString;
    cobxVerName.Items.Add(vName);
    ZQVeranstaltung.Next;
  end;
end;
Ich möchte so, eine Combobox mit Werten aus einer DB füllen, was mache ich da falsch,
bzw. wie geht man da am besten vor um die Box zu füllen.


Gruß
TankWart

Old M 2. Mär 2007 13:06

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
hat er vielleicht ein problem mit der Variable vName

while not ZQVeranstaltung.Eof do begin
**vName** := ZQVeranstaltung.FieldByName('vName').AsString;
cobxVerName.Items.Add(vName);
ZQVeranstaltung.Next;
end;

vielleicht so

while not ZQVeranstaltung.Eof do begin
cobxVerName.Items.Add(ZQVeranstaltung.FieldByName( 'vName').AsString);
ZQVeranstaltung.Next;
end;

mkinzler 2. Mär 2007 13:07

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
SQL-Code:
SELECT DISTINCT UPPER(vName) as vname from veranstaltung;

TankWart 2. Mär 2007 13:24

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
jep so klappt es:
Delphi-Quellcode:
SELECT DISTINCT UPPER(vName) as vname from veranstaltung;
Ist es jetz noch möglich, statt alle Buchstaben groß nur den ersten immer groß anzuzeigen?
Oder kann ich das irgenwie gleich mit meiner Select Abfrage machen?


Danke schon mal im Voraus


Gruß

TankWart

mkinzler 2. Mär 2007 13:35

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
Theroetisch ist sowas mit einer SQL-Abfrage möglich
SQL-Code:
select distinct (Upper(substring( vName from 1 for 1)) || lower(substring( vName from 2))) as vName, ...

TankWart 2. Mär 2007 14:14

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
wie ist das mit den Punkten am Ende gemeint,
irgenwie bekomme ich das Statment nicht hin.
Delphi-Quellcode:
select distinct (Upper(substring( vName from 1 for 1)) || lower(substring( vName from 2))) as vName, ...

Dank mal wieder im Voraus

mkinzler 2. Mär 2007 14:19

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
SQL-Code:
select distinct (Upper(substring( vName from 1 for 1)) || lower(substring( vName from 2))) as vName from veranstaltung;

TankWart 2. Mär 2007 14:30

Re: Doppelte Werte aus Tabellenspalte nicht anzeigen??
 
mhh, jetzt bringt er Function unknown Lower.
Hab echt keine Ahnung, erkennt jetzt die Funktion LOWER nicht im Statement.

Gruß

TankWart


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr.
Seite 1 von 2  1 2      

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