DataTable 基础

DataTable 基础

好的,我来给你详细讲解 C# 中 DataTable 的用法,适合初学者到中级开发者理解和使用。

🔹 DataTable 基础DataTable 是 .NET 中用于在内存中存储数据的表格对象,类似 Excel 表格或数据库中的一张表。

常用于:

临时存储数据数据绑定到控件(如 GridView)处理数据库查询结果命名空间:

代码语言:javascript复制using System.Data;1. 创建 DataTable代码语言:javascript复制DataTable table = new DataTable("Students");

// 添加列

table.Columns.Add("Id", typeof(int));

table.Columns.Add("Name", typeof(string));

table.Columns.Add("Age", typeof(int));

// 添加行

table.Rows.Add(1, "Tom", 20);

table.Rows.Add(2, "Alice", 22);

table.Rows.Add(3, "Bob", 21);Columns.Add 用于定义列Rows.Add 用于添加数据行2. 遍历 DataTable方式一:遍历每一行代码语言:javascript复制foreach (DataRow row in table.Rows)

{

Console.WriteLine($"Id: {row["Id"]}, Name: {row["Name"]}, Age: {row["Age"]}");

}方式二:按索引访问代码语言:javascript复制for (int i = 0; i < table.Rows.Count; i++)

{

Console.WriteLine($"{table.Rows[i][0]}, {table.Rows[i][1]}, {table.Rows[i][2]}");

}3. 查询 DataTable3.1 使用 Select 方法代码语言:javascript复制DataRow[] result = table.Select("Age > 20");

foreach (DataRow row in result)

{

Console.WriteLine($"{row["Name"]} - {row["Age"]}");

}Select 返回 符合条件的 DataRow 数组条件语法类似 SQL,比如 Age > 20 AND Name='Alice'3.2 使用 LINQ 查询代码语言:javascript复制using System.Linq;

var query = from DataRow row in table.Rows

where (int)row["Age"] > 20

select row;

foreach (var row in query)

{

Console.WriteLine($"{row["Name"]} - {row["Age"]}");

}4. 删除和修改行4.1 删除行代码语言:javascript复制// 删除 Name 为 "Bob" 的行

DataRow[] rowsToDelete = table.Select("Name='Bob'");

foreach (DataRow row in rowsToDelete)

{

table.Rows.Remove(row);

}4.2 修改行代码语言:javascript复制DataRow rowToUpdate = table.Select("Name='Alice'")[0];

rowToUpdate["Age"] = 23; // 修改 Age5. 克隆和复制 DataTable克隆结构(不含数据)代码语言:javascript复制DataTable cloneTable = table.Clone();复制整个表(含数据)代码语言:javascript复制DataTable copyTable = table.Copy();6. 数据绑定Windows Forms 示例代码语言:javascript复制dataGridView1.DataSource = table;DataTable 可以直接绑定到 DataGridView、GridView 等控件界面会显示表格内容7. 其它常用方法方法

说明

Clear()

清空所有行

AcceptChanges()

提交所有更改

RejectChanges()

撤销所有未提交的更改

NewRow()

创建新行对象

ImportRow(DataRow row)

导入另一张 DataTable 的行

✅ 总结DataTable 是 内存数据表,支持添加列、行、查询、修改和删除支持 SQL 风格查询(Select)和 LINQ 查询可以直接 绑定到界面控件 显示常用于 数据库中间缓存、数据处理和 UI 显示https://www.52runoob.com/archives/6669

相关文章

论猪八戒的优点
365网络股份有限公司总部

论猪八戒的优点

📅 07-15 👁️ 4166
摩拜端午贴纸攻略
365速度发国际大厅

摩拜端午贴纸攻略

📅 07-15 👁️ 3762
[T1]刷了2021年7月版后,有时候'云视听‘平台打不开
365速度发国际大厅

[T1]刷了2021年7月版后,有时候'云视听‘平台打不开

📅 10-25 👁️ 6606