Tout fonctionne bien sauf le labels[i]
. La boucle écrit toujours dans htmlLabel1 et jamais dans htmlLabel2 etc. Pourquoi l'itération ne fonctionne-t-elle pas par labels[i]
mais au Reader.GetValue(i)
?itération de boucle ne fonctionne pas comme il se doit
MySqlConnection connection = new MySqlConnection(myConnectionString);
MySqlCommand command = connection.CreateCommand();
command.CommandText = "SELECT number FROM numbers ORDER BY RAND() LIMIT 2; ";
MySqlDataReader Reader;
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
HtmlLabel[] labels = new HtmlLabel[] {
htmlLabel1,
htmlLabel2,
htmlLabel3
};
for (int i = 0; i < Reader.FieldCount; i++)
{
labels[i].Text = Reader.GetValue(i).ToString();
Console.WriteLine(Reader.GetValue(i).ToString());
}
}
connection.Close();
Vous récupérez une colonne pour chaque enregistrement. La boucle interne ne boucle qu'une seule fois pour chaque enregistrement – Steve
@Florian La boucle for de Reader.FieldCount parcourt les colonnes de votre instruction select sur la ligne 3. Il n'y a qu'un seul champ, numéro, à parcourir. Qu'est-ce que vous essayez de traverser? – LAS
@LAS Je pense que c'est le meilleur moyen. Je veux obtenir 10 premières entrées de mysql et coller chaque entrée dans une étiquette différente. – Florian