C# DataTable

C# DataTable

DataTable是一个临时保存数据的网格虚拟表,表示内存中数据的一个表,是一个二维表,也是一个后台数据源与前台显示之间的适配器。

常用属性

属性名 含义
CaseSensitive 指示表中的字符串是否区分大小写
Columns 获取属于该表的列的集合
Rows 获取属于该表的行的集合
TableName 获取或者设置DataTable 的名称
ChildRelation 获取此DataTable 的子关系的集合
Constraints 获取由该表维护的约束的集合
DataSet 获取此表所属的DataSet
DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图
HasErrors 获取一个值,该值表示该表所属的DataSet 的任何表的任何行中是否有错误
MinimumCapacity 获取或设置该表最初起始大小,该表中的最初起始大小默认值为50

常用方法

方法名 功能
BeginInit() 开始初始化在窗体上使用或由另一个组件使用
DataTable() 初始化发生在运行时
Clear() 清除所有数据的DataTable
Clone() 克隆DataTable的结构,包括所有的DataTable架构和约束
EndInit() 结束在窗体上使用或由另一个组件使用的DataTable的初始化
ImportRow(DataRow row) 将DataRow复制到DataTable中,保留任何属性设置以及初始值和当前值。
Merge(DataTable table) 将指定的DataTable与当前的DataTable合并
NewRow() 创建与该表具有相同架构的新的DataRow()

常用使用方法

//=====================创建=======================
//创建一个空表
DataTable dt = new DataTable();
//创建一个名为“Table_New"的空表
DataTable dt = new DataTable("Table_New");
//指定的表明和命名空间初始化DataTable类的新实例
DataTable dt = new DataTable("Table_New","Test");
//=====================添加列=======================
DataColumn dc = new DataColumn();
//1、创建空列
dt.Columns.Add(dc);
//2、创建带列名和类型名的列
dt.Columns.Add("column1",System.Type.GetType("System.String"));
dt.Columns.Add("column1",typeof(String));
//3、通过列架构添加列
DataColumn dc = new DataColumn("column1",System.Type.GetType("System.DataTime"));
DataColumn dc = new DataColumn("column1",typeof(DataTime));
dt.Columns.Add(dc);
//=====================添加行=======================
//1、创建空行
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
//2、创建空行
dt.Rows.Add();
//3、通过行框架创建并赋值
dt.Rows.Add("张三",DataTime.Now)//Add里面参数的数据顺序要和dt中的列的顺序对应
//4、通过复制dt2表的某一行来创建
dt.Rows.Add(dt2.Rows[i],ItemArray);
//=====================赋值/取值=======================
//新建行的赋值
DataRow dr = dt.NewRow();
dr[0] = "张三";//通过索引赋值
dr["column1"] = DataTime.Now;//通过名称赋值
//对表已有行进行赋值
dt.Rows[0][0] = "张三";//通过索引赋值
dt.Rows[0]["column1"]=DataTime.Now;//通过名称赋值
//取值
string name = dt.Rows[0][0].ToString();
string time = dt.Rows[0]["column1"].ToString();
//=====================筛选行=======================
//选择column1列值为空的行的集合
DataRow[] drs = dt.Select("column1 is null");
//选择column0列值为”李四“的行的集合
DataRow[] drs = dt.Select("column0 = '李四'");
//筛选column0列值中由”张“的行的集合(模糊查询)
DataRow[] drs = dt.Select("column0 like '张%'");//如果多条件可加and或or
//筛选column0列值中由”张“的行的集合并按column0降序排列
DataRow[] drs = dt.Select("column0 like '张%'","column1 DESC");
//=====================删除行=======================
dt.Rows.Remove(dt.Rows[0]);
dt.Rows.RemoveAt(0);
dt.Row[0].Delete();
dt.AcceptChanges();
posted @   ben犇  阅读(1194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示