博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net 中DataSet和DataTable的 区别与联系
阅读量:6173 次
发布时间:2019-06-21

本文共 1646 字,大约阅读时间需要 5 分钟。

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的 区别与联系的总结,如有不足之处,还请批评与指教。

 

转载地址:http://slvba.baihongyu.com/

你可能感兴趣的文章
雅虎同意出售核心资产
查看>>
Win10大丰收的节奏 微软收编iOS全部150万应用
查看>>
智慧城市要除“城市病” 中兴通讯开辟新增长极
查看>>
Opera已确认解散iOS开发团队
查看>>
DevOps:新的业务浪潮
查看>>
CERT:启用EMET的Windows 7比Windows 10更加安全
查看>>
LINE上市:一场迟到、勇敢又无奈的IPO
查看>>
OA选型:OA系统工作流是核心
查看>>
如何发现“利用DNS放大攻击”的服务器
查看>>
《Arduino开发实战指南:LabVIEW卷》——第2章 Arduino软件
查看>>
京津冀大数据走廊起笔谋篇
查看>>
WIFI连网一“吻”通 黑科技让无线路由器更智能
查看>>
Ovum光器件首席分析师:硅光子不是唯一解决方案
查看>>
大数据发展进入快车道 未来会呈现高速增长
查看>>
JVM基础:JVM内存组成及分配
查看>>
数据库锁和数据库隔离级别
查看>>
Linux下的内核测试工具——perf使用简介
查看>>
《从问题到程序:用Python学编程和计算》——2.3 内置函数和数学函数包
查看>>
《Photoshop修饰与合成专业技法》目录—导读
查看>>
《Metasploit渗透测试手册》—第1章1.10节分析数据库中存储的渗透测试结果
查看>>