C#中DataTable的创建与遍历
1、创建DataTable对象
/// <summary>
/// 创建DataTable对象
/// </summary>
public static DataTable CreateDataTable()
{
//创建DataTable
DataTable dt = new DataTable("NewDt");
//创建自增长的ID列
DataColumn dc = ("ID", ("System.Int32"));
= true; //自动增加
= 1; //起始为1
= 1; //步长为1
= false; //非空
//创建其它列表
(new DataColumn("Name", ("")));
(new DataColumn("Age", ("System.Int32")));
(new DataColumn("Score", ("")));
(new DataColumn("CreateTime", ("")));
//创建数据
DataRow dr = ();
dr["Name"] = "张三";
dr["Age"] = 28;
dr["Score"] = 85.5;
dr["CreateTime"] = ;
(dr);
dr = ();
dr["Name"] = "李四";
dr["Age"] = 24;
dr["Score"] = 72;
dr["CreateTime"] = ;
(dr);
dr = ();
dr["Name"] = "王五";
dr["Age"] = 36;
dr["Score"] = 63.5;
dr["CreateTime"] = ;
(dr);
return dt;
}
2、遍历DataTable对象
/// <summary>
/// 遍历DataTable对象,转换成List对象
/// </summary>
public static List<UserInfo> TraverseDataTable(DataTable dt)
{
List<UserInfo> userList = new List<UserInfo>();
//判断DataTable是否为空
if (dt == null || == 0)
{
return null;
}
//遍历DataTable对象,转换成List
foreach (DataRow row in )
{
UserInfo user = new UserInfo();
if (("ID") && !(row["ID"]))
= Convert.ToInt32(row["ID"]);
if (("Name") && !(row["Name"]))
= (row["Name"]);
if (("Age") && !(row["Age"]))
= Convert.ToInt32(row["Age"]);
if (("Score") && !(row["Score"]))
= (row["Score"]);
if (("CreateTime") && !(row["CreateTime"]))
= (row["CreateTime"]);
(user);
}
return userList;
}
其它代码:
/// <summary>
/// 用户信息类
/// </summary>
public class UserInfo
{
/// <summary>
/// 编号
/// </summary>
public int ID { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int Age { get; set; }
/// <summary>
/// 成绩
/// </summary>
public double Score { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}