c# - Remplissage liste générique de SqlDataReader

Comment puis-je ajouter des valeurs qu'un SqlDataReader renvoie à une Liste générique? J'ai une méthode où je l'utiliser SqlDataReader pour obtenir CategoryID à partir d'un Category table. Je tiens à ajouter tous les CategoryID une Liste générique.

Cette dose ne pas fonctionner car il ne renvoie qu'un seul categoryID et qui est le dernier. Je veux ajouter toutes les categoryID à la liste et puis les retourner.

Comment dois-je faire?

SqlConnection connection = null;
SqlDataReader reader = null;
SqlCommand cmd = null;

try
{
    connection = new SqlConnection(connectionString);
    cmd = new SqlCommand("select CategoryID from Categories", connection );

    connection.Open();

    List<int> catID = new List<int>();
    dr = cmd.ExecuteReader();
    while (dr.Read())
    {
        catID.Add(Convert.ToInt32(dr["CategoryID"].ToString()));
    }
}
finally
{
    if (connection  != null)
        connection.Close();
}
return catID;
Ne l'appelez pas .ToString().
Avez-vous un domaine nommé catId?
Utilisation à l'aide de relevés autour de la connexion, de commande et le lecteur!

OriginalL'auteur Erik | 2011-04-10