DataSet层次结构中的类请参见表所示:

说明
DataTableCollection
包含特定数据集的所有DataTable对象
DataTable
表示数据集中的一个表
DataColumnCollection
表示DataTable对象的结构
DataRowCollection
表示DataTable对象中的实际数据行
DataColumn
表示DataTable对象中列的结构
DataRow
表示DataTable对象中的一个数据行
//多表多行多列的情况
foreach (DataTable dt in YourDataset.Tables) //遍历所有的datatable
{
foreach (DataRow dr in dt.Rows) ///遍历所有的行
foreach (DataColumn dc in dt.Columns) //遍历所有的列
Console.WriteLine(“{}, {}, {}”, dt.TableName, dc.ColumnName, dr[dc]); //表名,列名,单元格数据
}
//遍历一个表多行多列
foreach(DataRow mDr in dataSet.Tables[].Rows )
{
foreach(DataColumn mDc in dataSet.Tables[].Columns)
{
Console.WriteLine(mDr[mDc].ToString());
}
}
//遍历一个表多行一列
foreach(DataRow row in DataSet1.Tables[].Rows)
{
Console.WriteLine(row[].ToString());
} //一行一列
ds.Tables[].Rows[]["字段"]

关于DataTableCollection

关于DataTable

关于DataColumnCollection

DataColumnCollection      问题一:

一是DataColumnCollection是怎么被DataTable类实例化的?因为我无法用new直接实例化它,这种现象普遍存在于.NET中。
二是DataColumn中的Table字段是只读的(定义中只有get,无set)那么,当我new了一个DataColumn时,这个
DataColumn的Table字段是NULL,为什么当由DataTable.Columns.Add()添加后,DataColumn.Table
字段被赋值了,怎么做到的?

DataColumnCollection        回答一:
1.扩展方法,当你用扩展方法去获取DataTable中的列集合,就会返回一个DataColumnCollection类型
2.DataColumn中的Table字段,表示它的父控件,也就是它是属于哪一个DataTable
搜一搜:属性
属性其实是个函数(get,set),它并不是一个变量,所以也不存在什么时候赋值.你什么时候去取值,就会调用函数去对应的地方取,取不到就是null呗
DataColumnCollection         回答一:
datatable初始化时创建的
this.columnCollection = new DataColumnCollection(this);
DataColumnCollection初始化时,table就被传入了

C# code?
1
2
3
4
5
6
7
8
9
10
internal DataColumnCollection(DataTable table)
{
    this._list = new ArrayList();
    this.defaultNameIndex = 1;
    this.columnsImplementingIChangeTracking = DataTable.zeroColumns;
    this.table = table;
    this.columnFromName = new Hashtable();
}
 
  

关于DataRowCollection

关于DataColumn

关于DataRow

DataSet 图解的更多相关文章

  1. 【神经网络与深度学习】【计算机视觉】图解YOLO

    图解YOLO 晓雷 3 个月前 YOLO核心思想:从R-CNN到Fast R-CNN一直采用的思路是proposal+分类 (proposal 提供位置信息, 分类提供类别信息)精度已经很高,但是速度 ...

  2. 论文翻译 DOTA:A Large-scale Dataset for Object Detection in Aerial Images

      简介:武大遥感国重实验室-夏桂松和华科电信学院-白翔等合作做的一个航拍图像数据集 摘要: 目标检测是计算机视觉领域一个重要且有挑战性的问题.虽然过去的十几年中目标检测在自然场景已经有了较重要的成就 ...

  3. 图解CSS3制作圆环形进度条的实例教程

    圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程 首先,当有人说你能不能 ...

  4. 《图解HTTP》读书笔记

    目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...

  5. [PostgreSQL] 图解安装 PostgreSQL

    图解安装 PostgreSQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5894462.html 序 园友的一篇<Asp.Net Cor ...

  6. HTML5 数据集属性dataset

    有时候在HTML元素上绑定一些额外信息,特别是JS选取操作这些元素时特别有帮助.通常我们会使用getAttribute()和setAttribute()来读和写非标题属性的值.但为此付出的代价是文档将 ...

  7. 图解ios程序生命周期

    图解ios程序生命周期 应用程序启动后状态有Active.Inactive.Background.Suspended.Not running这5种状态,几种状态的转换见下图: 在AppDelegate ...

  8. C#读取Excel,或者多个excel表,返回dataset

    把excel 表作为一个数据源进行读取 /// <summary> /// 读取Excel单个Sheet /// </summary> /// <param name=& ...

  9. DataTable DataRow DataColumn DataSet

    1.DataTable 数据表(内存) 2.DataRow DataTable 的行 3.DataColumn DataTable 的列 4.DataSet 内存中的缓存

随机推荐

  1. HTTPS那些事(一) HTTPS原理

    谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的.随着网络越来越普及,应用越来越广泛,一 ...

  2. 网页body中background在ie中显示不出来

    网页body中background在ie中显示不出来 | 浏览:349 | 更新:2014-03-11 14:03 刚才上班在公司网站上写一个页面,在谷歌浏览器,火狐浏览器里调试完后,一切正常,忽然想 ...

  3. Android----------eclipse常用快捷键

    类级操作:--------------------一个去包,一个导包------------------------------------ Ctrl+shift+O (不是零) 清除没用引用 ctr ...

  4. (整理)ubuntu 的 相关知识(来自 鸟哥的私房菜)

    1. Linux 文件权限概念 $ ls 察看文件的指令 $ ls -al 出所有的文件详细的权限与属性 (包含隐藏档,就是文件名第一个字符为『 . 』的文件) 在你第一次以root身份登入Linux ...

  5. Tomcat学习笔记 - 错误日志 - Tomcat部署项目或修改xml配置出现无法保存的情况(拒绝访问)

    原因分析:(windows下) 可能有人会发现在编辑好 tomcat-users.xml 文件后无法保存,原因是使用的用户没有权限修改文件,可能是把 Tomcat 发行包放到了一个需要管理员权限才能修 ...

  6. read/load

    ready先执行,load后执行. DOM文档加载的步骤: (1) 解析HTML结构. (2) 加载外部脚本和样式表文件. (3) 解析并执行脚本代码. (4) 构造HTML DOM模型.//read ...

  7. shell练习--用户下载交互检测

    #!/bin/bash #By spinestars #-- read -p "请输入下载目录路径" down_dir read -p "请输入网址路径" ur ...

  8. pubwin2009服务端 修改系统时间方法

      所有操作都是必须的,包括重启. 1.建议操作前全体结账,并交班---不结帐的话, 改完时间会出问题的.2.停止pubwin2009服务端 3.将C:\WINDOWS\system32\driver ...

  9. jQuery中的选择器《思维导图》

    学习jQuery的课程中,我对jQuery中的选择器有了更深的认识,它的简洁写法,完美的兼容性,可靠的处理机制,都让我们省了很多事, 下面是我在学习过程中对jQuery选择器写的思维导图(全屏查看:& ...

  10. 怎样在Github参与一个开源项目

    转载:http://www.csdn.net/article/2014-04-14/2819293-Contributing-to-Open-Source-on-GitHub 最近一年开源项目特别的热 ...