DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable。DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面。

DataSet功能强大有浏览、排序、搜索、过滤、处理分级数据、缓存更改等功能,还可以与XML数据互换。DataSet中可包括多个DataTable,可将多个查询结构存到一个DataSet中,方便操作 ADO.NET开发人员为方便数据处理开发出来的,是数据的集合,为解决DataReader的缺陷设计的,DataReader数据处理速度快,但它是只读的,一旦移到下一行就不能查看上一行的数据,DataSet则可以自由移动指针。DataSet的数据是与数据库断开的。DataSet还可用于多层应用程序中,如果应用程序运行在中间层的业务对象中来访问数据库,则业务对象需将脱机数据结构传递给客户应用程序。

DataSet的三种创建方式:

  DataTable()   不带参数初始化DataTable 类的新实例。 
  DataTable(string tableName)  用指定的表名初始化DataTable 类的新实例。

DataSet的常用属性介绍 :
          CaseSensitive       指示表中的字符串比较是否区分大小写。如果是区分大小写则为false,默认值为false。 
          ChildRelations       获取此DataTable 的子关系的集合。 
          Columns               获取属于该表的列的集合。 
          Constraints           获取由该表维护的约束的集合。 
          DataSet                获取此表所属的DataSet。DataSet相关信息,可见我以前的一篇文章《数据访问(2)-DataSet》 
          DefaultView          获取可能包括筛选视图或游标位置的表的自定义视图。 
          HasErrors             获取一个值,该值指示该表所属的DataSet 的任何表的任何行中是否有错误。 
          MinimumCapacity  获取或设置该表最初的起始大小。该表中行的最初起始大小。默认值为 50。 
          Rows                    获取属于该表的行的集合。 
          TableName           获取或设置DataTable 的名称。

DataSet常用方法 :

Clear()               清除所有数据的DataTable。 
          Clone()              克隆DataTable 的结构,包括所有DataTable 架构和约束。 
          EndInit()            结束在窗体上使用或由另一个组件使用的DataTable 的初始化。初始化发生在运行时。 
          ImportRow(DataRow row)    将DataRow 复制到DataTable 中,保留任何属性设置以及初始值和当前值。 
          Merge(DataTable table)  将指定的DataTable 与当前的DataTable 合并。 
          NewRow()         创建与该表具有相同架构的新DataRow。
          AcceptChanges()   提交自上次调用AcceptChanges() 以来对该表进行的所有更改。 
      BeginInit()         开始初始化在窗体上使用或由另一个组件使用的DataTable。初始化发生在运行时。

遍历DataSet的方法

   foreach(DataTable dt in dataSet.Tables)

   foreach(DataRow dr in dt.Rows)

   foreach(DataColumn dc in dr.Table.Columns)

   Console.WriteLine(dr[dc]);

C# DataSet与DataTable的区别和用法的更多相关文章

  1. C# DataSet与DataTable的区别和用法 ---转载

    C# DataSet与DataTable的区别和用法 转载:https://www.cnblogs.com/liuyi-li/p/6340411.html DataSet是数据集,DataTable是 ...

  2. .Net 中DataSet和DataTable的 区别与联系

    1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中.其实使用 dataset 相当于所使用数据库中数据的副本,保存在 ...

  3. DataSet与DataTable的区别

    DataSet:数据集.一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable DataTable:数据表. 一: SqlDataAdapter ...

  4. Ado.Net,关于DataSet和DataTable

    DataSet和DataTable的 区别与联系 1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 DataTable 中. ●注意如下  ...

  5. DataSet与DataTable基本用法

    http://files.cnblogs.com/files/monkeyZhong/DataSetExample.rar 在设计数据库操作或者XML操作等表格数据时,我们难免要跟DataSet和Da ...

  6. 转:DataSet、DataTable、DataRow、DataColumn区别及使用实例

    DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的 ...

  7. DataSet、DataTable、DataRow、DataColumn区别及使用实例

    DataSet 表示数据在内存中的缓存. 属性 Tables  获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的 ...

  8. C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN

    C# DataTable的詳細用法 - hcw_peter的专栏 - 博客频道 - CSDN.NET 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够 ...

  9. 关于PagedDataSource分页属性与DataSet和DataTable详解

    Asp.net提供了三个功能强大的列表控件:DataGrid.DataList和Repeater控件,但其中只有DataGrid控件提供分页功能.相对DataGrid,DataList和Repeate ...

随机推荐

  1. Service Mesh是什么技术

    https://blog.csdn.net/weixin_38044696/article/details/80257488 Service Mesh是什么技术 2018年05月09日 22:07:4 ...

  2. python 监控日志

    #需求: #1.每分钟监控服务器日志,ip请求超过200次的,加入黑名单 #1.读文件,获取到每行的内容 open readlines # 178.210.90.90 - - [04/Jun/2017 ...

  3. 【linux】【rpm】确定程序是否 rpm 安装

    执行 rpm -qf 文件名如果结果显示出安装包那就说明是rpm (或者yum)安装 详情参看 rpm -v  (或者 man rpm) ​

  4. 【linux】文件默认权限:umask

    在默认权限的属性上,目录与文件是不一样的.从第六章我们知道 x 权限对於目录是非常重要的! 但是一般文件的创建则不应该有运行的权限,因为一般文件通常是用在於数据的记录嘛!当然不需要运行的权限了. 因此 ...

  5. day 35 补充

      MySQL数据库初识   MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集 ...

  6. 多本Python极速入门最佳书籍,不可错过的Python学习资料!

    Python作为现在很热门的一门编程语言,介于Python的友好,许多的初学者都将其作为首选,为了帮助大家更好的学习Python,我筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内.   ...

  7. Python入门学习笔记2:刷题

    1) LeetCode 强的面试题和算法题,要求也比较高,很多国内外的码农在上面刷题.难度从easy到hard都有,而且覆盖面极广,需要你的综合实力去答题. 最简单的题比如字符串的处理有的时候也要用到 ...

  8. poj-3009 curling2.0(搜索)

    Curling 2.0 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26408   Accepted: 10546 Des ...

  9. poj 2236 网络连接问题 并查集

    题意:n台电脑,当两台之间的距离小于d的时候可以连接. 题目会进行操作“修复”还有“查询是否已经连接”.只要在查询的时候输出YES或者ON 思路: 把可以相互连接的 即两者之间的距离小于 d  q[i ...

  10. poj 2251 三维地图最短路径问题 bfs算法

    题意:给你一个三维地图,然后让你走出去,找到最短路径. 思路:bfs 每个坐标的表示为 x,y,z并且每个点都需要加上时间 t struct node{ int x, y, z; int t;}; b ...