C#——DataTable转List方法(很简便)

将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的现象,所以要判断一下,这个三元表达式真是经典

发布了156 篇原创文章 · 获赞 49 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/shang_0122/article/details/103179307