Problem mit OracleCommand und OracleDataReader



  • Hallo an alle !!
    Erstmal Danke für den tollen Support - ich glaub ich bekomme das Projekt noch vor Weihnachten fertig, was natürlich SUPER wäre 😃

    Derzeit stehe ich beim OracleDataReader an:

    Ich habe ein befüllte Datenbank mit ca. 50 Datensätzen zu 5 Spalten
    Ich hole mir also den kompletten Inhalt heraus:

    OracleCommand cmd_read = new OracleCommand("Select* from Spende, con);
    

    Darauf setze ich jetzt einen OracleDataReader an:

    OracleDataReader odr = cmd_read.ExecuteReader();
    

    Soweit, sogut - jetzt laufe ich mit folgendem Code durch die Einträge:

    while (odr.Read())
    				{
    					s[1]=odr["Vorname"].ToString();
    		}
    

    s ist irgendein beliebiger String nur zum Testen...

    Aus einem für mich nicht nachvollziehbaren Grund werden mir aber nicht alle Datensätze angezeigt 😞
    Das Feld "Vorname" ist zu Testzwecken mit den Werten von 'a' bis 'z'
    Angezeigt wird mir aber nur: 'c','f','i','l','o','r','u','x',...

    Ich weiß leider nicht mehr weiter 😞 😞
    Bin deshalb für jeden Tip dankbar !!

    lG
    Dietzi



  • Sodala...jetzt hab ich den Code in keinster Weise verändert und auch die Datenbank nicht angerührt - wenn ich jetzt ausführe, zeigt mir odr.Read() IMMER false :(:(

    ich weiß echt nicht mehr weiter 😕



  • Wenn es ein string ist, dann schreibe nicht s[...], sondern nur s.
    Weiterhin überschreibst Du den string ja ständig mit dem nachfolgenden Wert.

    StringCollection s = new StringCollection();  // System.Collections.Specialized;
    while(dr.Read())
    {
        s.Add(dr["Vorname"].ToString());
    }
    

    Du kannst natürlich auch die Daten in einer Klasse speichern und die Instanzen dann in einer Liste speichern.



  • es geht nicht um den String - der ist wie gesagt nur zu Testzwecken da - ich hab auch das array von irgendwo übernommen und nicht weiter verändert

    Ich kontrolliere die Werte von s[1] und odr.read() mit dem Überwachungstool des Debuggers - und wie gesagt - odr.read() ist jetzt einfach IMMER false, obwohl die Datenbank gefüllt ist (mit SQLPlus kontrolliert) und ich auch reinschreiben kann 😞


Anmelden zum Antworten