前言
在 .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 編輯過