Stringlist enthält nicht alle Datensätze, Anzahl der Datensätze begrenzt?



  • Hallo,

    ich lade per for-Schleife ein paar Nummern aus meiner Datenbank in die Stringliste, leider enthält die Stringlist anschließend statt 16 Datensätzen nur 9. Ich lade die Datensätze mit nachfolgendem Code in die Stringliste:

    // Stringliste zum Filtern doppelter Zulassungsnummern erstellen
    	Zulassungsnummer = new TStringList();
    
    	// Stringliste Zulassungsnummer leeren
    	Zulassungsnummer->Clear();
    
    	// Tabelle an Anfang setzen
    	ADOQuery1->First();
    
    	int j = ADOQuery1->RecordCount;
    	for (int i = 0; i <= j; i++) {
    		// Datensaetze in Stringliste Zulassungsnummer einfuegen
    		Zulassungsnummer->Add(ADOQuery1->FieldByName("SNNR")->AsString);
    		ADOQuery1->Next();
    		i++;
    	}
    

    Wenn ich nun die Anzahl der Datensätze aus meiner Stringliste abfrage, bekomme ich als Ergebnis 9 Datensätze, statt 16.

    Die Anzahl wird mit nachfolgendem Code erfragt:

    ShowMessage(
    		"Before:Insert -> Anzahl der Datensätze in Stringliste beträgt: " + IntToStr(Zulassungsnummer->Count));
    

    Die Stringliste wird übrigens als public deklariert.

    Weiß einer wo das Problem liegen könnte?

    Viele Dank,

    Maik



  • Hallo!

    Es hat sich erledigt, wie konnte ich nur so dumm sein...

    Diese Zeile war das Problem, keine Ahnung was ich da gemacht habe...

    i++;
    

    Naja, jetzt läufts es.

    Gruß

    Maik



  • maikmueller schrieb:

    Hallo!

    Es hat sich erledigt, wie konnte ich nur so dumm sein...

    Diese Zeile war das Problem, keine Ahnung was ich da gemacht habe...

    i++;
    

    Naja, jetzt läufts es.

    Gruß

    Maik

    du zählst doppelt.
    bei for( i = 0; ... ) wird i um 1 erhöht, bei i++ nochmal!!! :p
    Entspricht in deinem Beispiel also i += 2

    grüssle 🙂


Anmelden zum Antworten