Auf meiner App kann ein Lehrer mehrere Klassen haben, und wenn ich ein Lehrerprofil ausschließe, muss ich zuerst seine Klassen löschen. Ich versuche, jedes class_id
dieses Lehrers auf ein int
Array zu setzen, um später alle Klassen zu löschen, deren ID in diesem Array enthalten ist.IndexOutOfRange Ausnahme ausgelöst beim Setzen des Int-Werts auf Array
Dies ist mein Code so weit:
int x = 0;
int[] count = new int[x];
while (reader_SelectedClasses.Read())
{
if(x != 0)
{
x++;
count = new int[x];
}
count[x] = _class.Class_id = reader_SelectedClasses.GetInt16("class_id");
}
Und das ist, was
reader_SelectedClasses.Read()
tut:
select class_id from tbl_class where user_id = " + id + ";
Und das ist die Rückkehr, wenn ich versuchen, diese auf MySQL :
Aber es gibt mir eine IndexOutOfRangeException zurück, wenn ich den Code auf meiner DAO-Klasse ausführen. Was vermisse ich? Bereits ging here aber nicht ganz verstanden. Kann mir bitte jemand ein paar Worte erklären und dafür einen festen Code schreiben?
Die if Bedingung wird nie ausgeführt, und der Wert von x wird nie erhöht . Sie fügen also normalerweise dem gleichen Index Werte hinzu. –
Nach dem Bearbeiten Ihrer Frage, ziehe ich meine Kommentare zurück. –
Sie müssen Zeile für Zeile durch Ihre Logik gehen und Sie werden genau sehen, woher das Problem kam. Sie versuchen, den ersten Index eines leeren Arrays zu erhalten. Auch wie wird x inkrementiert? – Nkosi