DataSet 图解

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
字段被赋值了,怎么做到的?
2.DataColumn中的Table字段,表示它的父控件,也就是它是属于哪一个DataTable
搜一搜:属性
属性其实是个函数(get,set),它并不是一个变量,所以也不存在什么时候赋值.你什么时候去取值,就会调用函数去对应的地方取,取不到就是null呗
this.columnCollection = new DataColumnCollection(this);
DataColumnCollection初始化时,table就被传入了
|
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 图解的更多相关文章
- 【神经网络与深度学习】【计算机视觉】图解YOLO
图解YOLO 晓雷 3 个月前 YOLO核心思想:从R-CNN到Fast R-CNN一直采用的思路是proposal+分类 (proposal 提供位置信息, 分类提供类别信息)精度已经很高,但是速度 ...
- 论文翻译 DOTA:A Large-scale Dataset for Object Detection in Aerial Images
简介:武大遥感国重实验室-夏桂松和华科电信学院-白翔等合作做的一个航拍图像数据集 摘要: 目标检测是计算机视觉领域一个重要且有挑战性的问题.虽然过去的十几年中目标检测在自然场景已经有了较重要的成就 ...
- 图解CSS3制作圆环形进度条的实例教程
圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程 首先,当有人说你能不能 ...
- 《图解HTTP》读书笔记
目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...
- [PostgreSQL] 图解安装 PostgreSQL
图解安装 PostgreSQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5894462.html 序 园友的一篇<Asp.Net Cor ...
- HTML5 数据集属性dataset
有时候在HTML元素上绑定一些额外信息,特别是JS选取操作这些元素时特别有帮助.通常我们会使用getAttribute()和setAttribute()来读和写非标题属性的值.但为此付出的代价是文档将 ...
- 图解ios程序生命周期
图解ios程序生命周期 应用程序启动后状态有Active.Inactive.Background.Suspended.Not running这5种状态,几种状态的转换见下图: 在AppDelegate ...
- C#读取Excel,或者多个excel表,返回dataset
把excel 表作为一个数据源进行读取 /// <summary> /// 读取Excel单个Sheet /// </summary> /// <param name=& ...
- DataTable DataRow DataColumn DataSet
1.DataTable 数据表(内存) 2.DataRow DataTable 的行 3.DataColumn DataTable 的列 4.DataSet 内存中的缓存
随机推荐
- Java Timer触发定时器
XML: <!-- Java Timer定时 --> <!-- <bean id="shortUrlTask" class=" com.sprin ...
- VisualStudio2013快捷键
visual studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.VS 2013 中新增了很多提高 ...
- Java的Date类与Calendar类
一:Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理.这里简单介绍一下Da ...
- php代码查询apache模块
<?php print_r(apache_get_modules()); ?> 注:此函数仅适用于CGI模式.
- Java 一个字符串在另外一个字符串出现次数
统计一个字符串在另外一个字符串出现次数 代码如下: package me.chunsheng.javatest; import java.util.regex.Matcher; import java ...
- nginx和apache的优缺点比较
简单的说apache httpd和nginx都是web服务器,但两者适应的场景不同,也就是两者专注于解决不同的问题.apache httpd:稳定.对动态请求处理强,但同时高并发时性能较弱,耗费资源多 ...
- UPX和WinUpack压缩壳的使用和脱法 - 脱壳篇06
UPX和WinUpack压缩壳的使用和脱法 - 脱壳篇06 让编程改变世界 Change the world by program 今天小甲鱼给大家介绍两款压缩壳:UPX和WinUpack. UPX是 ...
- centos 6.5 安装 redis
下载软件: wget wget http://download.redis.io/releases/redis-2.8.7.tar.gz 2.解压软件并编译安装: tar -zxvf redis-2. ...
- FFmpeg深入分析之零-基础 <第一篇>
FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂.本文将从介绍一些基本的多媒体只是,主要是为研读ffmpeg源代码做准备,比如一 ...
- SQL Server索引 - 索引(物化)视图 <第九篇>
一.索引视图基本概念 索引视图实际上是一种将一组唯一值“物化”为群集索引形式的视图,所为物化就是几乎和表一样,其数据也是会存储一份的(会占用硬盘空间,但是查询速度快,例如可以将count(),sum( ...