您好我有一个方法可以返回列表但是我得到了不理想的结果,请让我知道下面的代码有什么问题。
cmd2.CommandText = "select * from Blogs order by id desc";
SqlDataReader reader = cmd2.ExecuteReader();
List<Blogs> blogslist = new List<Blogs>();
while (reader.Read())
{
blog.Id = Convert.ToInt16(reader["id"]);
blog.email = reader["email"].ToString();
blog.description = reader["description"].ToString();
blog.date =Convert.ToDateTime(reader["date"]);
blogslist.Add(blog);
}
答案 0 :(得分:2)
已宣布博客&amp;在您的reader.Read()语句之外实例化,每次循环时都会更新相同的对象引用,这就是您在列表中看到重复对象的原因。
cmd2.CommandText = "select * from Blogs order by id desc";
SqlDataReader reader = cmd2.ExecuteReader();
List<Blogs> blogslist = new List<Blogs>();
while (reader.Read())
{
var blog = new Blogs();
blog.Id = Convert.ToInt16(reader["id"]);
blog.email = reader["email"].ToString();
blog.description = reader["description"].ToString();
blog.date =Convert.ToDateTime(reader["date"]);
blogslist.Add(blog);
}
如果它能解决您的问题,请将此标记为您接受的答案。