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äreDerzeit 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