您的位置:首页 > 其它

DataAdapter.Fill 方法 (DataSet)[MSDN]

2008-08-25 13:29 405 查看
Fill 方法使用关联的 SelectCommand 属性所指定的 SELECT 语句从数据源中检索行。与 SELECT 语句关联的连接对象必须有效,但不需要将其打开。如果调用 Fill 之前连接已关闭,则将其打开以检索数据,然后再将其关闭。如果调用 Fill 之前连接已打开,它将保持打开状态。

然后,Fill 操作将行添加到 DataSet 中的目标 DataTable 对象,如果 DataTable 对象不存在,则创建这些对象。当创建 DataTable 对象时,Fill 操作通常只创建列名元数据。但是,如果 MissingSchemaAction 属性设置为 AddWithKey,则还会创建适当的主键和约束。

如果 SelectCommand 返回 OUTER JOIN 的结果,则 DataAdapter 不为生成的 DataTable 设置 PrimaryKey 值。必须显式定义主键,确保正确地解析重复行。有关更多信息,请参见 为表定义主键

如果数据适配器在填充 DataTable 时遇到重复列,它将以“columnname1”、“columnname2”、“columnname3”这种模式命名后面的列。如果传入数据包含未命名的列,它们将按“Column1”、“Column2”的模式放在 DataSet 中。向 DataSet 添加多个结果集时,每个结果集都放在一个单独的表中。将整数值追加到指定的表名从而对其他结果集进行命名(例如“Table”、“Table1”、“Table2”等)。使用列名和表名的应用程序应确保一定不要与这些命名模式发生冲突。

当用于填充 DataSet 的 SELECT 语句(例如批处理 SQL 语句)返回多项结果时,如果其中一项结果包含错误,则将跳过所有后面的结果并且不将其添加到 DataSet 中。

您可以在同一个 DataTable 上多次使用 Fill 方法。如果主键存在,则传入行会与已有的匹配行合并。如果主键不存在,则传入行会追加到 DataTable 中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: