2016-06-18 12 views
1

Ich versuche, eine Verbindung zur Mysql-Datenbank mit UWP.Index war außerhalb des Bereichs bei der Ausführung von Datenreader

 objConn.Open(); 
     MySqlCommand cmd = new MySqlCommand("select city_ID,city_Name from cities", objConn); 
     MySqlDataReader dataReader = cmd.ExecuteReader(); // <------ Here 

     int i = 0; 
     while (dataReader.Read()) 
     { 
     StudentsList.Items.Add(""); 
     StudentsList.Items.Add(dataReader.GetString(1).ToString()); 
     i++; 
     } 
     objConn.Close(); 

, wenn ich den Code ausführen ein Fehler angezeigt:

Index war außerhalb des Bereichs. muss nicht negativ sein und weniger als die Größe der Sammlung. Parametername: start

Der Fehler tritt auf, wenn app diese Zeile erreichen:

MySqlDataReader dataReader = cmd.ExecuteReader(); 
+0

Überprüfen Sie, ob Spalten und Tabellennamen mit den in der Abfrage angegebenen Namen übereinstimmen. – Steve

+0

ja, sie sind gleich. –

Antwort

2

Ich habe das gleiche Problem, in meinem Fall war das Problem die Datenbank. Sie sollten sehen, dass Ihre Integer-Werte unsigniert sind, was diesen Fehler bedeutet. Sie können here suchen.

0

wenn sich außerhalb der Reichweite geht es bedeutet, der Wert nicht Beispiel

int[] myArray = {1, 2, 3, 4, 5, 6 }; 
console.writeline(myArray[6]); 
indiziert ist

Sie erhalten würden die Ausnahme wegen des Auslaufens des Bereichs, da der Index mit Null beginnt

Index: 0 1 2 3 4 5

Array: 1 2 3 4 5 6

Also, wenn Sie (myArray[6]); verwenden Ihre tatsächlich im Index das sechste Element ziehen. Wenn Sie bemerken, dass es nur geht 5.

+1

Ich denke, er weiß das. Ich habe für ihn einige unappetitliche Probleme gelesen, die möglicherweise schwieriger zu debuggen sind. Hoffentlich liege ich falsch. – Drew

Verwandte Themen