1. C# DataTable的基本概念
DataTable是C#中常用的数据表格对象,它可以用来存储和操作数据。DataTable由多个行和列组成,每行表示一个数据记录,每列表示一个数据字段。
2. 创建和初始化DataTable
2.1 创建空DataTable
可以使用DataTable的构造函数创建一个空的DataTable对象。
DataTable table = new DataTable();
注意:创建DataTable时可以指定表格的名称,例如:
DataTable table = new DataTable("Employee");
2.2 创建带列的DataTable
除了创建空的DataTable,我们还可以通过添加列的方式来创建DataTable。
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Age", typeof(int));
以上代码创建了一个包含ID、Name和Age三个列的DataTable。
2.3 创建带数据的DataTable
可以通过添加行的方式来创建带数据的DataTable。
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Age", typeof(int));
table.Rows.Add(1, "Alice", 25);
table.Rows.Add(2, "Bob", 28);
以上代码通过Add方法向DataTable中添加了两行数据。
3. DataTable的数据操作
3.1 添加行
可以通过调用Rows的Add方法向DataTable中添加新的行。
DataRow row = table.NewRow();
row["ID"] = 3;
row["Name"] = "Carol";
row["Age"] = 30;
table.Rows.Add(row);
3.2 删除行
可以通过调用Rows的Remove方法来删除指定的行。
DataRow row = table.Rows.Find(2);
if (row != null)
{
table.Rows.Remove(row);
}
3.3 修改行的值
可以通过直接修改DataRow的字段值来修改行的值。
DataRow row = table.Rows.Find(1);
if (row != null)
{
row["Name"] = "Alex";
row["Age"] = 26;
}
4. 查询和筛选数据
4.1 查询所有数据
可以通过遍历DataTable的所有行来查询所有的数据。
foreach (DataRow row in table.Rows)
{
Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", row["ID"], row["Name"], row["Age"]);
}
4.2 根据条件查询
可以使用Select方法根据条件查询符合条件的数据。
DataRow[] rows = table.Select("Age > 25");
foreach (DataRow row in rows)
{
Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", row["ID"], row["Name"], row["Age"]);
}
5. DataTable的常用属性和方法
5.1 属性
5.1.1 TableName:获取或设置DataTable的名称。
table.TableName = "Employee";
5.1.2 Columns:获取DataTable的所有列。
foreach (DataColumn column in table.Columns)
{
Console.WriteLine(column.ColumnName);
}
5.1.3 Rows:获取DataTable的所有行。
foreach (DataRow row in table.Rows)
{
Console.WriteLine(row["Name"]);
}
5.2 方法
5.2.1 NewRow():创建一个新的DataRow。
DataRow row = table.NewRow();
row["ID"] = 4;
row["Name"] = "David";
row["Age"] = 32;
5.2.2 Find():根据主键值查找行。
DataRow row = table.Rows.Find(3);
if (row != null)
{
Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", row["ID"], row["Name"], row["Age"]);
}
5.2.3 Select():根据条件筛选行。
DataRow[] rows = table.Select("Age > 30");
foreach (DataRow row in rows)
{
Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", row["ID"], row["Name"], row["Age"]);
}
6. 总结
本文介绍了C#中使用DataTable的几种用法,包括创建和初始化DataTable、对DataTable进行数据操作、查询和筛选数据以及常用的属性和方法。DataTable是一个灵活且强大的数据表格对象,可以帮助我们方便地存储和处理数据。