如有需要请参阅官方帮助:数据集、数据表和数据视图
ADO.NET DataSet 是数据的一种内存驻留表示形式,无论它包含的数据来自什么数据源,都会提供一致的关系编程模型。 DataSet 表示整个数据集(相当于实体的数据库),其中包含数据表(DataTable)、表间关系(DataRelation)和约束(Constraint)。我们完全可以通过编程的方式在内存中构建自己的数据库。
一、创建数据集(DataSet)
1、可以通过调用 DataSet 构造函数来创建 DataSet 的实例
如使用无参数构造函数:
Dim dst As New DataSet()
dst.DataSetName = "mydst"
或指定一个名称参数:
Dim dst As New DataSet("mydst")
这两种实例化DataSet得到的结果是一样的。
如果没有为 DataSet 指定名称,则该名称会设置为“NewDataSet”。如图:

2、也可以基于现有的 DataSet 来创建新的 DataSet
如:
Dim dst As New DataSet("mydst")
Dim dst1 As DataSet = dst
二、在数据集(DataSet)中管理数据表(DataTable)
可以通过DataSet对象的Tables属性管理数据表(DataTable)。
DataSet对象的Tables属性可以获取包含在 DataSet 中的表的集合(DataTableCollection)。如果 DataTable 对象不存在,将返回空集合。
1、将数据表添加到数据集中
若要将表添加到DataSet中,可以使用DataTableCollection集合的Add方法。如图:

(1)、使用无参数的Add方法
示例代码源自官网源码改编:
Dim table As DataTable
Dim thisDataSet As New DataSet()
Dim i As Integer
For i = 0 To 2
thisDataSet.Tables.Add()
Next i
Dim strshow As String = thisDataSet.Tables.Count.ToString() & " tables" & Environment.NewLine & "TableName" & Environment.NewLine
For Each table In thisDataSet.Tables
strshow &= table.TableName & Environment.NewLine
Next
MessageBox.Show(strshow)
因为不指定任何名称,所以DataTable使用默认名称,根据其添加顺序, 默认名称为"Table1"、“Table2”……。如图:

(2)、Add(DataTable)方法
首先需要实例化DataTable对象。与创建 DataSet 一样,可以通过调用 DataTable构造函数来创建DataTable的实例。
如使用无参数构造函数:
Dim dt As New DataTable()
dt.TableName = "mytable"
或指定表名:
Dim dt As New DataTable("mytable")
效果是一样的,如果没有指定表名,则其表名为空字符串。
当然也可以基于现有的 DataTable 来创建新的DataTable实例。
Dim dt As New DataTable("mytable")
Dim dt1 As DataTable = dt
获得DataTable的实例后,就可以把该实例添加到DataSet中。
Dim dt As New DataTable("mytable")
Dim dst As New DataSet()
dst.Tables.Add(dt)
(3)、Add(String)方法
Add(String)方法使用指定名称创建一个 DataTable 对象,并将其添加到DataSet中。如:
Dim dst As New DataSet()
dst.Tables.Add("mytable")
2、将数据表从数据集中移除
(1)、移除指定的 DataTable 对象
使用DataTableCollection集合的Remove方法可以移除指定的 DataTable 对象。
Dim dt As New DataTable("mytable")
Dim dst As New DataSet()
dst.Tables.Add(dt)
dst.Tables.Add("mytable1")

本文详细介绍了如何使用VB.NET的ADO.NET进行内存中数据库操作,包括创建DataSet、管理DataTable、定义表结构(如添加列、主键约束等),并提供了丰富的代码示例。
最低0.47元/天 解锁文章
2857

被折叠的 条评论
为什么被折叠?



