C# DataTbale详细操作
1、创建DataTable对象
- DataTable dt = new DataTable("Table_AX");
2、为DataTable创建列
- //方式一(我觉得这种好)
- dt.Columns.Add("column0", System.Type.GetType("System.String"));
- //方式二
- DataColumn dc = new DataColumn("column0", typeof(string));
- DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
- dt.Columns.Add(dc);
3、添加数据
- DataRow dr = dt.NewRow();
- dr["column0"] = "AX";
- dr["column1"] = true;
- dt.Rows.Add(dr);
4、移除数据
- dt.Columns.Remove("column0");
4、判断是否有数据
- //判断是否有数据
- if (dt.Rows.Count > )
- {
- //有
- }
5、查询
- DataRow[] drs = dt.Select("column1 is null");
- DataRow[] drss = dt.Select("column0 = 'AX'");
- //返回第一条
- DataRow dr = dt.Select("column1 is null").First();
- //多条件用and连接
- DataRow[] rows = dt.Select("column0 = 'AX' and column1 == true").First();
6、复制
- //复制一个DataTable(有数据)
- DataTable dtNew = dt.Copy();
- //复制一个空的DataTable(无数据)
- DataTable dtOnlyScheme = dt.Clone();
- //将 DataRow 复制到 DataTable 中,保留任何属性设置以及初始值和当前值
- DataRow[] rows = dt.Select("column0 = 'AX' and column1 == true").First();
- foreach (DataRow row in rows)
- {
- dtNew.ImportRow(row);//复制行数据
- }
7、DataRow赋值
- DataRow drOperate = dt.Rows[];
- //方式一
- drOperate["column0"] = "AXzhz";
- drOperate["column1"] = false;
- //方式二
- drOperate[] = "AXzhz";
- drOperate[] = false;
- //方式三
- dt.Rows[]["column0"] = "AXzhz";
- dt.Rows[]["column1"] = false;
- //方式四
- dt.Rows[][] = "AXzhz";
- dt.Rows[][] = false;
8、把DataRow数据存到DataTable中
- dtOnlyScheme.Rows.Add(dt.Rows[].ItemArray);
9、转成字符串
- System.IO.StringWriter sw = new System.IO.StringWriter();
- System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
- dt.WriteXml(xw);//此处DataTable必须有名字
- string s = sw.ToString();
10、筛选数据(详见DefaultView文章)
- dt.DefaultView.RowFilter = "column1 <> true";
- dt.DefaultView.RowFilter = "column1 = true";
11、排序
- dt.DefaultView.Sort = "column0 ,column1 ASC";
- dt = dt.DefaultView.ToTable();
12、判断一个字符串是否为DataTable的列名
- bool flag = dt.Columns.Contains("AX");
13、取值
- string str =dt.Rows[第几行]["字段名"].ToString();
- string str =dt.Rows[第几行][第几列].ToString();
- //for循环
- for (int i = ; i < dt.Rows.Count; i++)
- {
- string str = dt.Rows[i]["字段名"].ToString();
- string str = dt.Rows[i][第几列].ToString();
- }
- //foreach循环
- foreach (DataRow dr in dt.Rows)
- {
- string str = dr["字段名"].ToString();
- }
- //创建DataTable对象
- DataTable dt = new DataTable("Table_AX");
- //为DataTable创建列
- //方式一(我觉得这种好)
- dt.Columns.Add("column0", System.Type.GetType("System.String"));
- //方式二
- DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
- dt.Columns.Add(dc);
- //添加数据
- DataRow dr = dt.NewRow();
- dr["column0"] = "AX";
- dr["column1"] = true;
- dt.Rows.Add(dr);
- //判断是否有数据
- if (dt.Rows.Count > )
- {
- //有
- }
- //查询
- DataRow[] drs = dt.Select("column1 is null");
- DataRow[] drss = dt.Select("column0 = 'AX'");
- //复制一个DataTable(有数据)
- DataTable dtNew = dt.Copy();
- //复制一个空的DataTable(无数据)
- DataTable dtOnlyScheme = dt.Clone();
- //给DataRow赋值的三种方式
- DataRow drOperate = dt.Rows[];
- //方式一
- drOperate["column0"] = "AXzhz";
- drOperate["column1"] = false;
- //方式二
- drOperate[] = "AXzhz";
- drOperate[] = false;
- //方式三
- dt.Rows[]["column0"] = "AXzhz";
- dt.Rows[]["column1"] = false;
- //方式四
- dt.Rows[][] = "AXzhz";
- dt.Rows[][] = false;
- //把DataRow数据存到DataTable中
- dtOnlyScheme.Rows.Add(dt.Rows[].ItemArray);
- //转成字符串
- System.IO.StringWriter sw = new System.IO.StringWriter();
- System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
- dt.WriteXml(xw);//此处DataTable必须有名字
- string s = sw.ToString();
- //筛选数据(详见DefaultView文章)
- dt.DefaultView.RowFilter = "column1 <> true";
- dt.DefaultView.RowFilter = "column1 = true";
- //排序
- dt.DefaultView.Sort = "column0 ,column1 ASC";
- dt = dt.DefaultView.ToTable();
- //绑定的其实是DefaultView
- //gvTestDataTable.DataSource = dt;
- //gvTestDataTable.DataBind();
- //判断一个字符串是否为DataTable的列名
- bool flag = dt.Columns.Contains("AX");
整合代码
C# DataTbale详细操作的更多相关文章
- (47) odoo详细操作手册
odoo 8 详细操作手册, ERP(Odoo8.0)操作手册-v1.10(陈伟明).pdf 链接: http://pan.baidu.com/s/1hsp0bVQ 密码: r9tt 花了将近9个月时 ...
- yii2 rbac权限控制详细操作步骤
作者:白狼 出处:http://www.manks.top/article/yii2_rbac_description本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 ...
- yii2权限控制rbac之详细操作步骤
本篇的主题是 rbac权限控制的详细操作步骤,注意是操作步骤哦,关于配置与rbac的搭建,我们在博文 yii2搭建完美后台并实现rbac权限控制实例教程说的再清楚不过了. 但是,在很多人的反馈下,说是 ...
- UiAutomator环境搭建及详细操作
一.环境搭建 1.1 必备条件 JDK SDK(API高于15) Eclipse(安装ADT插件) ANT(用于编译生成的jar) 安装JDK并添加环境变量 1.2 详细步骤 1.安装JDK并添加环境 ...
- day42 字段的增删改查详细操作
复习 # 1.表的详细操作 create table nt like ot; # 只复制表的结构包括约束 create table nt select * from ot where 1=2; # 复 ...
- day41 mysql详细操作
复习 create table 表名( id int primary key auto_increment, 字段名 数据类型[(宽度) 约束] )engine=innodb charset=utf8 ...
- MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理
MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...
- {MySQL的库、表的详细操作}一 库操作 二 表操作 三 行操作
MySQL的库.表的详细操作 MySQL数据库 本节目录 一 库操作 二 表操作 三 行操作 一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf ...
- iOS数据库操作之coredata详细操作步骤
CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...
随机推荐
- 安卓开发笔记——Broadcast广播机制(实现自定义小闹钟)
什么是广播机制? 简单点来说,是一种广泛运用在程序之间的传输信息的一种方式.比如,手机电量不足10%,此时系统会发出一个通知,这就是运用到了广播机制. 广播机制的三要素: Android广播机制包含三 ...
- Lynx
http://www.unlinux.com/doc/soft/20051105/7402.html http://www.today-wx.com/linux/274.html 把 HTML 转成文 ...
- 【CTR】各公司方法
LR + 海量高纬离散特征 GBDT + 少量低纬连续特征 (Yahoo & Bing) GBDT + LR (FaceBook) FM + DNN (百度凤巢) MLR (阿里妈妈) FTR ...
- vue v-if与v-show使用注意问题
在使用中发现v-show和v-if用哪个都不可以控制元素块的显示隐藏, 之前v-show和v-if都是这样写的: <span v-if="{loadingComplete:false} ...
- Blender 编辑模式
1.如何进入编辑模式 可直接通过“Tab”快捷键进入编辑模式,或者选择界面底部的下拉列表: 如果想退出编辑模式,可再按下“Tab”键退出. 2.编辑选择 进入编辑状态后,我们可以通过鼠标右键来选择某个 ...
- anaconda-ks.cfg详解
https://blog.csdn.net/whyhonest/article/details/7555229
- python 使用模板模式和工厂模式的混合设计开发各种邮件客户端发送邮件
1.使用模板模式和工厂模式的混合设计开发各种邮件客户端发送邮件. 2.模板模式的目的:能保证快速开发各种邮箱客户端,子类只需要重写模板类邮箱的抽象方法即可.之后再开发任何邮箱就只要加一个类,写3行代码 ...
- Android播放器推荐:可以播放本地音乐、视频、在线播放音乐、视频、网络收音机等
下载链接:http://www.eoeandroid.com/forum.php?mod=attachment&aid=MTAxNTczfGMyNjNkMzFlfDEzNzY1MzkwNTR8 ...
- 5 -- Hibernate的基本用法 --4 6 Hibernate事务属性
事务也是Hibernate持久层访问的重要方面,Hibernate不仅提供了局部事务支持,也允许使用容器管理的全局事务. Hibernate关于事务管理的属性: ⊙ hibernate.transac ...
- 转载用sql语句计算出mysql数据库的qps,tps,iops性能指标
本帖最后由 LUK 于 2014-9-21 22:39 编辑 思路: 1 关注MYSQL三个方面的性能指标,分别为query数,transaction数,io请求数 2 在某个时间范围内(例如20秒) ...