从SQL获取数据并放入列表

我从SQL获取数据并将其放入列表中。 这是我现在正在尝试的,

public class Fruit //custom list { public string aID { get;set; } // can be more then 1 public string bID { get;set; } // only 2 but different aID public string name { get;set; } // only 1 for selection of aID and bID } 

这就是我从sql获取数据的方式,

 var Fruitee = new Fruit(); using (SqlConnection cn = new SqlConnection(CS())) { cn.Open(); SqlCommand sqlCommand= new SqlCommand("SELECT * FROM myTable", cn); SqlDataReader reader = sqlCommand.ExecuteReader(); while (reader.Read()) { Fruitee.add(reader["aID"], reader["bID"],reader["name"]) // ??? not sure what to put here as add is not available } cn.Close(); } 

表看起来像这样,

aID,bID,名称

**

  • 问题

**

我被困在如何添加项目列表,这也是最佳做法?

 List fruits = new List(); while (reader.Read()) { Fruit f = new Fruit(); f.aID = (string) reader["aID"]; f.bID = (string) reader["bID"]; f.name = (string) reader["name"]; fruits.Add(f); } 
 var list = new List(); while (reader.Read()) { list.Add(new Fruit() { aID = reader["aID"].ToString(), bID = reader["bID"].ToString(), name = reader["name"].ToString() }); } 
 var Fruitee = new List(); while (reader.Read()) { Fruitee.Add(new Fruit() { aID = reader["aID"].ToString(), bID = reader["bID"].ToString(), name = reader["name"].ToString() }); } 

你需要实际读取读者,这就是你没有做的事情。 但是,请注意DBNulls。

因此,假设您的自定义列表具有添加function,您可以执行以下操作。

 while(reader.Read()) { Fruitee.add(reader["aID"], reader["bID"], reader["name"]); }