1、创建DataTable对象

  1. DataTable dt = new DataTable("Table_AX");

2、为DataTable创建列

  1. //方式一(我觉得这种好)
  2. dt.Columns.Add("column0", System.Type.GetType("System.String"));
  3. //方式二
  4. DataColumn dc = new DataColumn("column0", typeof(string));
  5. DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
  6. dt.Columns.Add(dc);

3、添加数据

  1. DataRow dr = dt.NewRow();
  2. dr["column0"] = "AX";
  3. dr["column1"] = true;
  4. dt.Rows.Add(dr);

4、移除数据

  1. dt.Columns.Remove("column0");

4、判断是否有数据

  1. //判断是否有数据
  2. if (dt.Rows.Count > )
  3. {
  4. //有
  5. }

5、查询

  1. DataRow[] drs = dt.Select("column1 is null");
  2. DataRow[] drss = dt.Select("column0 = 'AX'");
  3. //返回第一条
  4. DataRow dr = dt.Select("column1 is null").First();
  5. //多条件用and连接
  6. DataRow[] rows = dt.Select("column0 = 'AX' and column1 == true").First();

6、复制

  1. //复制一个DataTable(有数据)
  2. DataTable dtNew = dt.Copy();
  3. //复制一个空的DataTable(无数据)
  4. DataTable dtOnlyScheme = dt.Clone();
  5. //将 DataRow 复制到 DataTable 中,保留任何属性设置以及初始值和当前值
  6. DataRow[] rows = dt.Select("column0 = 'AX' and column1 == true").First();
  7. foreach (DataRow row in rows)
  8. {
  9. dtNew.ImportRow(row);//复制行数据
  10. }

7、DataRow赋值

  1. DataRow drOperate = dt.Rows[];
  2. //方式一
  3. drOperate["column0"] = "AXzhz";
  4. drOperate["column1"] = false;
  5. //方式二
  6. drOperate[] = "AXzhz";
  7. drOperate[] = false;
  8. //方式三
  9. dt.Rows[]["column0"] = "AXzhz";
  10. dt.Rows[]["column1"] = false;
  11. //方式四
  12. dt.Rows[][] = "AXzhz";
  13. dt.Rows[][] = false;

8、把DataRow数据存到DataTable中

  1. dtOnlyScheme.Rows.Add(dt.Rows[].ItemArray);

9、转成字符串

  1. System.IO.StringWriter sw = new System.IO.StringWriter();
  2. System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
  3. dt.WriteXml(xw);//此处DataTable必须有名字
  4. string s = sw.ToString();

10、筛选数据(详见DefaultView文章)

  1. dt.DefaultView.RowFilter = "column1 <> true";
  2. dt.DefaultView.RowFilter = "column1 = true";

11、排序

  1. dt.DefaultView.Sort = "column0 ,column1 ASC";
  2. dt = dt.DefaultView.ToTable();

12、判断一个字符串是否为DataTable的列名

  1. bool flag = dt.Columns.Contains("AX");

13、取值

  1. string str =dt.Rows[第几行]["字段名"].ToString();
  2. string str =dt.Rows[第几行][第几列].ToString();
  3.  
  4. //for循环
  5. for (int i = ; i < dt.Rows.Count; i++)
  6. {
  7. string str = dt.Rows[i]["字段名"].ToString();
  8. string str = dt.Rows[i][第几列].ToString();
  9. }
  10. //foreach循环
  11. foreach (DataRow dr in dt.Rows)
  12. {
  13. string str = dr["字段名"].ToString();
  14. }
  1. //创建DataTable对象
  2. DataTable dt = new DataTable("Table_AX");
  3. //为DataTable创建列
  4. //方式一(我觉得这种好)
  5. dt.Columns.Add("column0", System.Type.GetType("System.String"));
  6. //方式二
  7. DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
  8. dt.Columns.Add(dc);
  9. //添加数据
  10. DataRow dr = dt.NewRow();
  11. dr["column0"] = "AX";
  12. dr["column1"] = true;
  13. dt.Rows.Add(dr);
  14.  
  15. //判断是否有数据
  16. if (dt.Rows.Count > )
  17. {
  18. //有
  19. }
  20.  
  21. //查询
  22. DataRow[] drs = dt.Select("column1 is null");
  23. DataRow[] drss = dt.Select("column0 = 'AX'");
  24.  
  25. //复制一个DataTable(有数据)
  26. DataTable dtNew = dt.Copy();
  27. //复制一个空的DataTable(无数据)
  28. DataTable dtOnlyScheme = dt.Clone();
  29.  
  30. //给DataRow赋值的三种方式
  31. DataRow drOperate = dt.Rows[];
  32. //方式一
  33. drOperate["column0"] = "AXzhz";
  34. drOperate["column1"] = false;
  35. //方式二
  36. drOperate[] = "AXzhz";
  37. drOperate[] = false;
  38. //方式三
  39. dt.Rows[]["column0"] = "AXzhz";
  40. dt.Rows[]["column1"] = false;
  41. //方式四
  42. dt.Rows[][] = "AXzhz";
  43. dt.Rows[][] = false;
  44.  
  45. //把DataRow数据存到DataTable中
  46. dtOnlyScheme.Rows.Add(dt.Rows[].ItemArray);
  47.  
  48. //转成字符串
  49. System.IO.StringWriter sw = new System.IO.StringWriter();
  50. System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
  51. dt.WriteXml(xw);//此处DataTable必须有名字
  52. string s = sw.ToString();
  53.  
  54. //筛选数据(详见DefaultView文章)
  55. dt.DefaultView.RowFilter = "column1 <> true";
  56. dt.DefaultView.RowFilter = "column1 = true";
  57.  
  58. //排序
  59. dt.DefaultView.Sort = "column0 ,column1 ASC";
  60. dt = dt.DefaultView.ToTable();
  61.  
  62. //绑定的其实是DefaultView
  63. //gvTestDataTable.DataSource = dt;
  64. //gvTestDataTable.DataBind();
  65.  
  66. //判断一个字符串是否为DataTable的列名
  67. bool flag = dt.Columns.Contains("AX");

整合代码

C# DataTbale详细操作的更多相关文章

  1. (47) odoo详细操作手册

    odoo 8 详细操作手册, ERP(Odoo8.0)操作手册-v1.10(陈伟明).pdf 链接: http://pan.baidu.com/s/1hsp0bVQ 密码: r9tt 花了将近9个月时 ...

  2. yii2 rbac权限控制详细操作步骤

    作者:白狼 出处:http://www.manks.top/article/yii2_rbac_description本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 ...

  3. yii2权限控制rbac之详细操作步骤

    本篇的主题是 rbac权限控制的详细操作步骤,注意是操作步骤哦,关于配置与rbac的搭建,我们在博文 yii2搭建完美后台并实现rbac权限控制实例教程说的再清楚不过了. 但是,在很多人的反馈下,说是 ...

  4. UiAutomator环境搭建及详细操作

    一.环境搭建 1.1 必备条件 JDK SDK(API高于15) Eclipse(安装ADT插件) ANT(用于编译生成的jar) 安装JDK并添加环境变量 1.2 详细步骤 1.安装JDK并添加环境 ...

  5. day42 字段的增删改查详细操作

    复习 # 1.表的详细操作 create table nt like ot; # 只复制表的结构包括约束 create table nt select * from ot where 1=2; # 复 ...

  6. day41 mysql详细操作

    复习 create table 表名( id int primary key auto_increment, 字段名 数据类型[(宽度) 约束] )engine=innodb charset=utf8 ...

  7. MySQL行(记录)的详细操作一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理

    MySQL行(记录)的详细操作 阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: ...

  8. {MySQL的库、表的详细操作}一 库操作 二 表操作 三 行操作

    MySQL的库.表的详细操作 MySQL数据库 本节目录 一 库操作 二 表操作 三 行操作 一 库操作 1.创建数据库 1.1 语法 CREATE DATABASE 数据库名 charset utf ...

  9. iOS数据库操作之coredata详细操作步骤

    CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...

随机推荐

  1. 安卓开发笔记——Broadcast广播机制(实现自定义小闹钟)

    什么是广播机制? 简单点来说,是一种广泛运用在程序之间的传输信息的一种方式.比如,手机电量不足10%,此时系统会发出一个通知,这就是运用到了广播机制. 广播机制的三要素: Android广播机制包含三 ...

  2. Lynx

    http://www.unlinux.com/doc/soft/20051105/7402.html http://www.today-wx.com/linux/274.html 把 HTML 转成文 ...

  3. 【CTR】各公司方法

    LR + 海量高纬离散特征 GBDT + 少量低纬连续特征 (Yahoo & Bing) GBDT + LR (FaceBook) FM + DNN (百度凤巢) MLR (阿里妈妈) FTR ...

  4. vue v-if与v-show使用注意问题

    在使用中发现v-show和v-if用哪个都不可以控制元素块的显示隐藏, 之前v-show和v-if都是这样写的: <span v-if="{loadingComplete:false} ...

  5. Blender 编辑模式

    1.如何进入编辑模式 可直接通过“Tab”快捷键进入编辑模式,或者选择界面底部的下拉列表: 如果想退出编辑模式,可再按下“Tab”键退出. 2.编辑选择 进入编辑状态后,我们可以通过鼠标右键来选择某个 ...

  6. anaconda-ks.cfg详解

    https://blog.csdn.net/whyhonest/article/details/7555229

  7. python 使用模板模式和工厂模式的混合设计开发各种邮件客户端发送邮件

    1.使用模板模式和工厂模式的混合设计开发各种邮件客户端发送邮件. 2.模板模式的目的:能保证快速开发各种邮箱客户端,子类只需要重写模板类邮箱的抽象方法即可.之后再开发任何邮箱就只要加一个类,写3行代码 ...

  8. Android播放器推荐:可以播放本地音乐、视频、在线播放音乐、视频、网络收音机等

    下载链接:http://www.eoeandroid.com/forum.php?mod=attachment&aid=MTAxNTczfGMyNjNkMzFlfDEzNzY1MzkwNTR8 ...

  9. 5 -- Hibernate的基本用法 --4 6 Hibernate事务属性

    事务也是Hibernate持久层访问的重要方面,Hibernate不仅提供了局部事务支持,也允许使用容器管理的全局事务. Hibernate关于事务管理的属性: ⊙ hibernate.transac ...

  10. 转载用sql语句计算出mysql数据库的qps,tps,iops性能指标

    本帖最后由 LUK 于 2014-9-21 22:39 编辑 思路: 1 关注MYSQL三个方面的性能指标,分别为query数,transaction数,io请求数 2 在某个时间范围内(例如20秒) ...