Jak pobrać z bazy danych do listy

0

chciałbym pobrać pewne rekordy z bazy danych mysql i zapisać je w strukturze list List<> skladajacej sie z obiektow o takich samych polach jak dane w tabeli

0

No więc ?
Jakie pytanie ?
Co mamy zrobić ?

0

pytanie, jak to zrobic? ;)

0
class Item
{
public int Id { get; set; };
public string Text { get; set; };
public Item(DataRow dr)
{
Id = (int)dr["Id"];
Text = dr["Text"].ToString();
}

//DataTable z odpowiednią strukturą oczywiście
public static List<Item> GetIListOfItems(DataTable dt)
{
List<Item> list = new List<Item>();
foreach(DataRow dr in dt)
{
list.Add(new Item(dr));
}
return list;
}
}
0

A tu wersja gdybyś nie chciał używać DataTable/DataRow:

class Item {
        public int Id { get; set; }
        public string Text { get; set; }

        public Item(SqlDataReader reader){
            Id=(int)reader["Id"];
            Text=(string)reader["Text"];
        }
    }

    class Program {
        static void Main(string[] args) {
            List<Item> list=GetData().ToList();
        }

        static IEnumerable<Item> GetData() {
            using(SqlConnection connection=new SqlConnection()){
                connection.Open();
                using(SqlCommand cmd=new SqlCommand("select * from tabela",connection)){
                    var reader=cmd.ExecuteReader();
                    while(reader.Read())
                        yield return new Item(reader);
                    yield break;
                }
            } 
        }



    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1