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(); |
| |
| DataTable dt = new DataTable("Table_New"); |
| |
| DataTable dt = new DataTable("Table_New","Test"); |
| |
| |
| DataColumn dc = new DataColumn(); |
| |
| dt.Columns.Add(dc); |
| |
| dt.Columns.Add("column1",System.Type.GetType("System.String")); |
| dt.Columns.Add("column1",typeof(String)); |
| |
| DataColumn dc = new DataColumn("column1",System.Type.GetType("System.DataTime")); |
| DataColumn dc = new DataColumn("column1",typeof(DataTime)); |
| dt.Columns.Add(dc); |
| |
| |
| |
| DataRow dr = dt.NewRow(); |
| dt.Rows.Add(dr); |
| |
| dt.Rows.Add(); |
| |
| dt.Rows.Add("张三",DataTime.Now) |
| |
| 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(); |
| |
| |
| |
| DataRow[] drs = dt.Select("column1 is null"); |
| |
| DataRow[] drs = dt.Select("column0 = '李四'"); |
| |
| DataRow[] drs = dt.Select("column0 like '张%'"); |
| |
| DataRow[] drs = dt.Select("column0 like '张%'","column1 DESC"); |
| |
| |
| |
| dt.Rows.Remove(dt.Rows[0]); |
| dt.Rows.RemoveAt(0); |
| |
| dt.Row[0].Delete(); |
| dt.AcceptChanges(); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?