10

我正在从 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,出价,姓名

**

  • 问题

**

我被卡住了如何将项目添加到列表中,这也是最佳做法吗?

4

4 回答 4

19
List<Fruit> fruits = new List<Fruit>();

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);
}
于 2013-05-31T11:56:40.987 回答
3
var list = new List<Fruit>();

  while (reader.Read())
  {
         list.Add(new Fruit() { aID = reader["aID"].ToString(), bID = reader["bID"].ToString(), name = reader["name"].ToString() });
  }
于 2013-05-31T12:01:33.390 回答
1
var Fruitee = new List<Fruit>();

while (reader.Read())
{
    Fruitee.Add(new Fruit() { aID = reader["aID"].ToString(), bID = reader["bID"].ToString(), name = reader["name"].ToString() });
}
于 2013-05-31T12:07:20.410 回答
-1

你需要真正从读者那里阅读,这就是你没有做的。但是,请注意 DBNulls。

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

while(reader.Read())
{
    Fruitee.add(reader["aID"], reader["bID"], reader["name"]);
}
于 2013-05-31T11:57:31.757 回答