SqlDataAdapter.Fill 方法 (DataTable)

     SqlDataAdapter.Fill 方法 (DataTable)  在msdn 上的解释是  

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

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

如果 DbDataAdapter 在填充 DataTable 时遇到重复列,它将以“columnname1”、“columnname2”、“columnname3”这样依次排序的模式命名后面的列。 如果传入数据包含未命名的列,它们将按“Column1”、“Column2”的模式放在 DataSet 中。 DataSet 添加多个结果集时,每个结果集都放在一个单独的表中。

采用 DataTable 作为参数的 Fill 的重载仅获取第一个结果。 使用以 DataSet 作为参数的 Fill 重载将获取多个结果。

 

                    SqlDataAdapter ada = new SqlDataAdapter(cmd);   的时候,如果存储过程中 最后一句不是  select  语句 ,则获取不到 数据 , 所以个人认为 采用 DataTable 作为参数的 Fill 的重载仅获取第一个结果 ,这句话 应该改为   采用 DataTable 作为参数的 Fill 的重载仅获取所有 非 查询 语句后的  第一个查询结果

                          

 

posted @ 2024-11-11 13:17  秋香姑娘请你不要紧张  阅读(5)  评论(0编辑  收藏  举报