VB.Net DataSet和DataTable

VB.Net DataSet和DataTable,第1张

概述        在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。         ●         注意如下 ado.net 关系:          Connection_____Command____DataAdapter____Dataset 

在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。

注意如下 ado.net 关系:
Connection_____Command____DataAdapter____Dataset
_____Datareader


DataSet 是放在内存中的,对DataSet中数据的修改并不直接反应到数据库,要通过 DataAdapter 的 Update 方法更新回数据库


DataSet 相当你用的数据库
Datatable 相当于你的表。一个 DataSet 可以包含多个 Datatable

DataSet 由表、关系和约束的集合组成。在 ADO.NET 中,Datatable 对象用于表示 DataSet中的表。Datatable 表示一个内存内关系数据的表;


以下代码示例演示如何构造 DataSet 的实例。
Dim cDS As DataSet = New DataSet( "CustomerOrders ")

以下示例构造一个 DataSet,将一个新的 Datatable 对象添加到该 DataSet 中,然后将三个 DataColumn 对象添加到该表中。最后,该代码将一个列设置为主键列。

Dim cDS As DataSet = New DataSet( "CustomerOrders ")

Dim orderstable As Datatable = cDS.tables.Add( "Orders ")

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}

区分大小写
按名称引用 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 "] 来引用它。

DataSet 的 CaseSensitive 属性不影响此行为。CaseSensitive 属性会应用于 DataSet 中的数据,它将影响排序、搜索、筛选、约束强制等。CaseSensitive 属性不会影响对 DataSet 中表或关系的引用。

总结

以上是内存溢出为你收集整理的VB.Net DataSet和DataTable全部内容,希望文章能够帮你解决VB.Net DataSet和DataTable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1290287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存