大师们,我的GridView为什么只显示一行数据,数据库有很多行

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:12:54
public static IList<Log> findAllLog() {
string sql = "select * from logtable";
List<Log> List = new List<Log>();
using (SqlDataReader reader = DBHelper.GetReader(sql)) {

if (reader.Read()) {
Log lg = new Log();
lg.Id = (int)reader["Id"];
lg.AuthorId = (string)reader["AuthorId"];
lg.logDate = (string)reader["logDate"];
lg.logContent = (string)reader["logContent"];
lg.logRemark = (string)reader["logremark"];
lg.Title=(string)reader["title"];
lg.Typeid = (string)reader["typeid"];
List.Add(lg);
}

}
return List;

方法是这样的

不能用 if(reader.Read())
这样的话 当然 只装载一条数据了啊
应该用while(reader.Read())
这样循环装载 reader中的所有数据

if (reader.Read()) { 《==== 把if换成while试一试
Log lg = new Log();
lg.Id = (int)reader["Id"];
lg.AuthorId = (string)reader["AuthorId"];
......