QComboBox hat doppelte Einträge unsortiert vorliegen

Verschiedenes zu Qt
Antworten
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

QComboBox hat doppelte Einträge unsortiert vorliegen

Beitrag von sea_bear »

Moin moin!

Ich versuche eine QComboBox mit Werten aus einer Datenbank zu füllen, was auch soweit sehr gut klappt. Leider habe ich nun zwei kleine Problme.

1. Ich bekomme doppelte Einträge in meine ComboBox obwohl ich augenscheinlich dies deaktiviert habe

Code: Alles auswählen

 authorBox->setDuplicatesEnabled(FALSE);
2. Meine Einträge werden so wie ich sie eingetragen habe auch wieder angezeigt. Gibt es aber eine Möglichkeit die Liste, sprich die ComboBox zu sortieren?

mfg
Tobias

Nachtrag:

Ich habe jetzt eine QStringList erstellt und erst einmal dort alle Einträge aus der Datenbank hingeschrieben. Danach habe ich die QStringList mit

Code: Alles auswählen

authorList->sort();
sortiert und mit

Code: Alles auswählen

authorBox->addItems(authorList)
übernommen.
Jetzt ist zumindestens die Liste schon einmal sortiert. Trotzdem habe ich nach wie vor das Problem, dass die Einträge doppelt vorliegen.

Wäre um jede Idee Dankbar.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Bekommst du die doppelten Einträge von der Usereingabe oder von der Datenbank? Wenn von der Datenbank, dann ist es deine Aufgabe die doppelten Einträge herauszufiltern (Macht die DB inkl. Sortierung wenn man es vorgibt)
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Beitrag von sea_bear »

upsala hat geschrieben:Bekommst du die doppelten Einträge von der Usereingabe oder von der Datenbank? Wenn von der Datenbank, dann ist es deine Aufgabe die doppelten Einträge herauszufiltern (Macht die DB inkl. Sortierung wenn man es vorgibt)
Die Daten kommen von meiner Datenbank. Leider ist es so, dass ich ungefähr 8 QComboBoxen zu befüllen habe. Ich befürchte nun einfach, dass wenn ich die Datenbank nun für jeden einzelnen Eintrag auf schon vorhandene Einträge überprüfe, dass das einfach zu langsam wird. Es muss aber doch eine Möglichkeit geben, die QComboBox mit einfachen Mitteln zu überprüfen ob ein Eintrag schon vorhanden ist. Hier meine ich eine schnelle und sauber Lösung.

Tobias
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wie wäre es, dein select korrekt zu bauen und schon dort die doppelten Einträge rauszufiltern?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wenn du in deiner ComboBox bereits Daten hast und über diese deine Datenbankdaten legst würde ich ein eigenes Model mit sortierten Daten vorschlagen. Ansonsten gibt es in SQL DISTINCT, GROUP BY und ORDER, aber das sind SQL-Grundlagen und haben hier eigentlich nichts zu suchen...
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Beitrag von sea_bear »

upsala hat geschrieben:Wenn du in deiner ComboBox bereits Daten hast und über diese deine Datenbankdaten legst würde ich ein eigenes Model mit sortierten Daten vorschlagen. Ansonsten gibt es in SQL DISTINCT, GROUP BY und ORDER, aber das sind SQL-Grundlagen und haben hier eigentlich nichts zu suchen...
Na ja, es geht mir eigentlich nicht darum woher die Daten kommen, sondern wie ich die Einträge behandeln kann. Daher ist es eigentlich auch egal ob sie aus einer Datenbank, einer Textdatei oder sonst einer Datei kommen. SQL ist mir durchaus ein Begriff, nutzt mir aber in dem Fall nicht unbedingt etwas.

Meine Frage bezog sich daher eigentlich darauf, ob es eine Möglichkeit gibt die Daten auf doppelte Einträge zu überprüfen oder eben bei der Eingabe "QComoBox.addItems(QStringList)" zu verhindern.

Tobias
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Schön, dann ließ meinen ersten Satz nochmal...
Antworten