Hallo!
Ich hab erst angefangen mich mit C# zu beschäftigen und will das Ganze an einem Projekt lernen. Im Moment hänge ich aber fest:
Aus einer SQL-Abfrage erhalte ich Werte aus einer DB. Einen dieser Werte möchte ich in einem Array speichern, das ich die Werte für weitere Abfragen benötige.
Hier mein Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45:
| sql = "SELECT DISTINCT Kategorie.name, Themen.themenname, Themen.themen_id FROM Kategorie INNER JOIN Themen ON Kategorie.k_id = Themen.k_id ORDER BY name, themenname";
SqlCommand objBefehl2 = new SqlCommand(sql, verbindung); SqlDataReader objDaten = objBefehl2.ExecuteReader();
int[] themen_id; themen_id = new int[x];
string name = null; string themenname = null; int themen_id2 = 0;
try {
while (objDaten.Read()) {
name = objDaten.GetString(0); themenname = objDaten.GetString(1);
themen_id2 = objDaten.GetInt32(2);
for (int i = 0; i < x; ++i) {
Response.Write(themen_id2); themen_id[i] = themen_id2;
}
}
objDaten.Close(); verbindung.Close(); } catch (Exception ex) { Response.Write("Error: " + ex.Message); } |
Nun ist es so, das 19 Werte (= x) aus der DB zurückgegeben werden für themen_id. Und bei meiner jetzigen Konstruktion wird 19x jeder Themen_id in das Array geschrieben. Ich ich möchte, dass jede themen_id aus der Abfrage sql natürlich 1x in das Array geschrieben wird so dass 19 verschiedene Werte drin stehen statt 19x der selbe Wert. Wenn ich mir den Code so angucke ist mir das auch völlig klar, dass da 19x das Selbe drinsteht. Aber ich weiß nicht, wo ich die for-Schleife einfügen muss damit das Array themen_id richtig gefüllt wird. Könnt ihr mir bitte helfen? Danke schonmal!
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt