在 C# 中使用 DataTable 实现添加、修改和删除等操作
|
admin
2024年11月12日 13:33
本文热度 100
|
前言
在 .NET 中,可将DataTable类充当管理内存中数据的基本组件。无论是在处理简单的数据集或复杂的关系结构,都能提供一种多功能的解决方案,轻松实现添加、编辑和删除行等操作。在本文中,我们一起了解DataTable,并使用示例来探讨其相关操作。
DataTable
DataTable 是 C# .NET 中 System.Data 命名空间的一部分,提供内存中数据以表格的形式表示。是一个由行和列组成的二维表,此结构非常适合需要在将数据保存到数据库或在用户界面中显示数据之前处理数据的情况。
1、常用属性
CaseSensitive:指示表中的字符串比较是否区分大小写;
Columns:获取属于表的列的集合;
DefaultView:获取可能包括筛选视图或游标位置的表的自定义视图;
Rows:获取属于表的行的集合;
TableName:获取或设置DataTable的名称;
2、常用方法
Clear:清除 DataTable 的所有数据;
Clone:克隆 DataTable 的结构,包括表所有的架构和约束;
BeginInit:开始初始化;
EndInit:结束初始化;
ImportRow: 将 DataRow 复制到表DataTable中,保留任何属性设置以及初始值和当前值;
Merge 将指定的 DataTable 与当前的 DataTable 合并;
NewRow 创建与该表具有相同架构的新DataRow;
使用示例
1、创建 DataTable 结构
#region 创建表对象
// 首先创建表对象,并将其命名为Employee
DataTable employeeTable = new DataTable("Employee");
/* 或使用下面方式创建
DataTable employeeTable = new DataTable();
employeeTable.TableName ="Employee";
*/
#endregion
#region 为表添加列
employeeTable.Columns.Add("ID", typeof(int));
employeeTable.Columns.Add("Name", typeof(string));
employeeTable.Columns.Add("Position", typeof(string));
employeeTable.Columns.Add("Salary", typeof(decimal));
/* 或用此方式添加列
DataColumn nameColumn = new DataColumn();
nameColumn.DataType= typeof(string);
nameColumn.MaxLength = 100;
employeeTable.Columns.Add(nameColumn);
*/
#endregion
2、为 DataTable 添加行
// 创建空行
DataRow newRow = employeeTable.NewRow();
// 对行列赋值
newRow["ID"] = 10;
newRow["Name"] = "罗小刚";
newRow["Position"] = "软件工程师";
newRow["Salary"] = 10000.00m;
// 将行添加到表中
employeeTable.Rows.Add(newRow);
3、筛选 DataTable 行
// 根据 ID 列筛选行数据
DataRow[] rows = employeeTable.Select("ID = 10");
// 筛选 Name 列值中以"罗"开头的行的集合(模糊查询),如果有多个筛选条件,可以加 and 或 or
DataRow[] rows = employeeTable.Select("Name like '罗%'");
4、修改 DataTable 的行数值
DataRow[] rows = employeeTable.Select("ID = 10");
if (rows.Length > 0)
{
// 修改 Salary 值
rows[0]["Salary"] = 12000.00m;
}
5、删除 DataTable 中行
// 根据 ID 列筛选行数据
DataRow[] rows = employeeTable.Select("ID = 10");
// 判断筛选
if (rows.Length > 0)
{
// 直接删除
employeeTable.Rows.Remove(rows[0]);
// 将行标记为 deleted
rows[0].Delete();
// 接受删除变更
employeeTable.AcceptChanges();
}
6、复制 DataTable 结构或数据
// 复制表,同时复制了表结构和表中的数据
DataTable newTable = employeeTable.Copy();
// 清空表数据
newTable.Clear();
// 克隆表,只是复制了表结构,不包括数据
DataTable cloneTable = employeeTable.Clone();
// 将 employeeTable 第一行数据导入cloneTable表
cloneTable.ImportRow(employeeTable.Rows[0]);
7、对 DataTable 排序
// 获取表视图
DataView employeeView = employeeTable.DefaultView;
// 按 ID 列倒序排序
employeeView.Sort = "ID DESC";
//转为表
employeeView.ToTable();
小结
以上,我们探讨了DataTable 方法、属性和基本操作,并简单示例描述其应用。借助 DataTable 的灵活性和功能,我们可以有效地管理各种应用程序的内存数据结构,从简单的数据操作任务到更复杂的数据库交互。
该文章在 2024/11/13 14:52:54 编辑过