将DataTable转List方法
public List<UserInfo> GetList()
{
//执行查的SQL语句
string sql = "select * from UserInfo";
DataTable da = SQLHelper.GetDataTable(sql, CommandType.Text);
//声明一个list对象
List<UserInfo> list = null;
if (da.Rows.Count>0)
{
//实例一个list对象
list = new List<UserInfo>();
UserInfo userInfo = null;
//遍历datatable中的每一行
foreach (DataRow row in da.Rows)
{
userInfo = new UserInfo();
//调用此方法将datatable每一行转换为list集合的属性
LoadEntity(userInfo, row);
list.Add(userInfo);
}
}
return list;
}
LoadEntity方法将datatable每一行转换为list集合的属性
private void LoadEntity(UserInfo userInfo, DataRow row)
{
userInfo.UserName = row["username"]!=DBNull.Value?row["username"].ToString():string.Empty;
userInfo.Pwd = row["pwd"]!=DBNull.Value?row["pwd"].ToString():string.Empty;
userInfo.RegTime =Convert.ToDateTime( row["RegTime"] != DBNull.Value? row["RegTime"].ToString() : string.Empty);
userInfo.Id = Convert.ToInt32(row["id"]);
userInfo.Email = row["Email"] != DBNull.Value ? row["Email"].ToString() : string.Empty;
}
想说一下这个三元表达式
row["username"]!=DBNull.Value?row["username"].ToString():string.Empty;
咱们数据库字段可能出现为NULL的现象,所以要判断一下,这个三元表达式真是经典