.Net 中DataSet和DataTable的 区别与联系
1、简要说明二者关系
在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。
●注意如下 Ado.net 关系:
Connection_____Command____DataAdapter____Dataset _____Datareader
● DataSet 是放在内存中的,对DataSet中数据的修改并不直接反应到数据库,要通过 DataAdapter 的 Update 方法更新回数据库
● DataSet相当你用的数据库; DataTable相当于你的表。一个 DataSet 可以包含多个 DataTable
DataSet 由表、关系和约束的集合组成。在 ADO.NET 中,DataTable对象用于表示 DataSet 中的表。DataTable 表示一个内存内关系数据的表;
2.以下代码示例演示如何构造DataSet ,DataTable 的实例关系。
Dim Ds As DataSet = New DataSet( "enUser ")
以下示例构造一个 DataSet,将一个新的 DataTable 对象添加到该 DataSet 中,然后将三个 DataColumn 对象添加到该表中。最后,该代码将一个列设置为主键列。
Dim Ds As DataSet = New DataSet( "enUser ")
Dim ordersTable As DataTable = Ds.Tables.Add( "enUser ")
Dim pkCol As DataColumn = ordersTable.Columns.Add( "OrderID ", Type.GetType( "System.Int32 "))
ordersTable.Columns.Add( "OrderQuantity ", Type.GetType( "System.Int32 "))
ordersTable.Columns.Add( "CompanyName ", Type.GetType( "System.String "))
ordersTable.PrimaryKey = New DataColumn() {pkCol}
3. DataSet中Table1、table1的大小写关系
按名称引用DataSet中的表和关系是区分大小写的。一个DataSet 中可以存在两个或更多个名称相同但大小写不同的表或关系。例如,可以有 Table1 和 table1。在这种情况下,对其中一个表的按名称引用必须精确匹配该表名称的大小写,否则会引发异常。例如,如果 DataSet myDs 包含表 Table1 和 table1,则会按名称将 Table1 当作 myDS.Tables[ "Table1"] 来引用,而将 table1 当作 myDS.Tables ["table1 "] 来引用。如果试图将其中任一个表当作 myDS.Tables ["TABLE1 "] 来引用,则会生成异常。
如果只存在一个具有特定名称的表或关系,则区分大小写规则不适用。也就是说,如果 DataSet 中没有其他任何表或关系对象匹配该特定表或关系对象的名称,那么即使大小写不同,仍可以按采用任何大小写的名称来引用该对象,而不会引发异常。例如,如果 DataSet 只包含 Table1,则可以使用 myDS.Tables[ "TABLE1"] 来引用它。
以上是对.Net 中DataSet和DataTable的 区别与联系的总结,如有不足之处,还请批评与指教。
.Net 中DataSet和DataTable的 区别与联系的更多相关文章
- C# DataSet与DataTable的区别和用法 ---转载
C# DataSet与DataTable的区别和用法 转载:https://www.cnblogs.com/liuyi-li/p/6340411.html DataSet是数据集,DataTable是 ...
- ADO.NET中DataSet、DataTable、DataRow的数据复制方法
DataSet 对象是支持 ADO.NET的断开式.分布式数据方案的核心对象 ,用途非常广泛.我们很多时候需要使用其中的数据,比如取得一个DataTable的数据或者复制另一个DataTabe中的数据 ...
- C# DataSet与DataTable的区别和用法
DataSet是数据集,DataTable是数据表,DataSet存储多个DataTable.DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面. ...
- 实际运用中DataSet、DataTable、DataRow点滴
DataSet.DataTable都自带有序列化标记,但是DataRow没有, 所以如果是在CS程序中,Release版本程序DataTable才是最小的数据传输单元,如果使用DataRow则会报[未 ...
- C#中DataSet、DataTable、DataReader的区别
简单说就是: DataSet:数据集.一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable DataTable:数据表 ...
- DataSet与DataTable的区别
DataSet:数据集.一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable DataTable:数据表. 一: SqlDataAdapter ...
- Ado.Net,关于DataSet和DataTable
DataSet和DataTable的 区别与联系 1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 DataTable 中. ●注意如下 ...
- 转:DataSet、DataTable、DataRow、DataColumn区别及使用实例
DataSet 表示数据在内存中的缓存. 属性 Tables 获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的 ...
- DataSet、DataTable、DataRow、DataColumn区别及使用实例
DataSet 表示数据在内存中的缓存. 属性 Tables 获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的 ...
随机推荐
- 20 Organizing Go code 组织go代码
Organizing Go code 16 August 2012 Introduction Go code is organized differently to that of other lan ...
- Linux 获取网关地址
route命令的用法:操作或者显示IP路由表route:DESCRIPTION Route manipulates the kernel's IP routing tables. Its primar ...
- 使用DOS访问数据库详解
今天突发奇想,想是否可以用DOS命令来操作本地数据库或者连接其他外地数据库,网上搜了很多教程比较繁琐,自己想写一篇文章详细叙述一下,也为以后复习做点备份. 工具: 电脑 win7 64bit MySQ ...
- DEDECMS去除后门隐患和漏洞以及冗余代码的方法
链接:http://jingyan.baidu.com/article/4d58d541195bdb9dd4e9c029.html 工具/原料 织梦网站管理系统 sublime编辑器 方法/步骤 第一 ...
- python类型学习
python类型学习 标准类型 数字 Integer 整型 Boolean 布尔型 Long integer 长整型 Floating point real numer 浮点型 Complex nu ...
- wordpress后台进去空白怎么办?
最近博客换成了用wordpress程序搭建,内容和版面也重新设计.经常使用FTP工具,更改模板或者其他程序文件.由于对wordpress不太了解,竟然出现了wordpress后台进去空白的问题,而前台 ...
- Ansible实战:部署分布式日志系统
本节内容: 背景 分布式日志系统架构图 创建和使用roles JDK 7 role JDK 8 role Zookeeper role Kafka role Elasticsearch role My ...
- CCF CSP 201503-3 节日
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-3 节日 问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形 ...
- PHP 识别 java 8位 des 加密和 解密方式
代码及使用说明: <?php /** *PHP 识别 java 8位密钥的加密和解密方式 *@desc 加密方式 通用 */ class DES { var $key; var $iv; //偏 ...
- python mysql连接函数
def mysqlConnectionSql(sql,value): try: conn=MySQLdb.connect(host='127.0.0.1',user='webuser',passwd= ...