功能:表示用于填充 DataSet 和更新数据库的一组数据命令和一个数据库连接。 此类不能被继承。
DataSet 类
表示一个存放于内存中的数据缓存。
DataSet 构造函数
初始化 DataSet 类的新实例。
名称 | 说明 | |
---|---|---|
DataSet() | 初始化 DataSet 类的新实例。 | |
DataSet(String) | 用给定名称初始化 DataSet 类的新实例。 | |
DataSet(SerializationInfo, StreamingContext) | 基础结构。初始化具有给定序列化信息和上下文的 DataSet 类的新实例。 | |
DataSet(SerializationInfo, StreamingContext, Boolean) | 基础结构。初始化 DataSet 类的新实例。 |
初始化 DataSet 类的新实例。
Private Sub CreateDataSet() Dim dataSet As DataSet = New DataSet ' Create two DataTable objects using a function. Dim table1 As DataTable = MakeTable("idTable1", "thing1") Dim table2 As DataTable = MakeTable("idTable2", "thing2") dataSet.Tables.Add(table1) dataSet.Tables.Add(table2) Console.WriteLine(dataSet.Tables.Count) End Sub Private Function MakeTable(c1Name As String, _ c2Name As String) As DataTable Dim table As New DataTable ' Add two DataColumns Dim column As DataColumn = New DataColumn( _ c1Name, System.Type.GetType("System.Integer")) table.Columns.Add(column) column = New DataColumn(c2Name, _ System.Type.GetType("System.String")) MakeTable = table End Function
DbDataAdapter.Fill 方法 (DataSet)
public override int Fill( DataSet dataSet )
注意:
Fill 方法使用 SELECT 语句从数据源中检索数据。 与 Select 命令关联的 IDbConnection 对象必须有效,但不需要将其打开。 如果调用 Fill 之前 IDbConnection 已关闭,则将其打开以检索数据,然后再将其关闭。 如果调用 Fill 之前连接已打开,它将保持打开状态。
如果在填充数据表时遇到错误或异常,则错误发生之前添加的行将保留在数据表中。 操作的剩余部分被中止。
如果命令不返回任何行,则不向 DataSet 中添加表,并且不引发异常。
如果 DbDataAdapter 对象在填充 DataTable 时遇到重复列,它将以“columnname1”、“columnname2”、“columnname3”这样依次排序的模式命名后面的列。 如果传入数据包含未命名的列,它们将按“Column1”、“Column2”的模式放在 DataSet 中。
当指定的查询返回多项结果时,每个返回查询的行的结果集都放置在单独的表中。 将整数值追加到指定的表名从而对其他结果集进行命名(例如“Table”、“Table1”、“Table2”等)。 如果某个查询不返回行,则不会为该查询创建表,因此,如果您先处理一个插入查询,然后再处理一个选择查询,这样由于为选择查询创建的表是第一个表,所以该表将被命名为“Table”。 使用列名和表名的应用程序应确保一定不要与这些命名模式发生冲突。
当用于填充 DataSet 的 SELECT 语句(例如批处理 SQL 语句)返回多项结果时,如果其中一项结果包含错误,则将跳过所有后面的结果并且不将它们添加到 DataSet 中。
当使用后面的 Fill 调用来刷新 DataSet 的内容时,必须满足以下两个条件:
-
该 SQL 语句应该与最初用来填充 DataSet 的语句匹配。
-
必须存在键列信息。
如果主键信息存在,则协调任何重复的行,并且这些重复行将只在与 DataSet 对应的 DataTable 中出现一次。 可以通过 FillSchema(通过指定 DataTable 的 PrimaryKey 属性),或者通过将 MissingSchemaAction 属性设置为 AddWithKey 来设置主键信息。
(参考自:http://msdn.microsoft.com/zh-cn/library/system.data.oracleclient.oracledataadapter(v=vs.110).aspx)