谁能详细介绍一下数据集和简单的用法

解决方案 »

  1.   

    dataset
    datatable
    ..
    ..
      

  2.   

    DataAdaptor.fill(ds)
    DataAdaptor.update(ds)
    ds.merge(dt)
      

  3.   

    DataSet 是数据的一种内存驻留表示形式,无论它包含的数据来自什么数据源,都会提供一致的关系编程模型。 DataSet 表示整个数据集,其中包含对数据进行包含、排序和约束的表以及表间的关系。 使用 DataSet 的方法有若干种,这些方法可以单独应用,也可以结合应用。 您可以: 以编程方式在 DataSet 中创建 DataTable、DataRelation 和 Constraint,并使用数据填充表。通过 DataAdapter 用现有关系数据源中的数据表填充 DataSet。使用 XML 加载和保持 DataSet 内容。
    可以通过调用 DataSet 构造函数来创建 DataSet 的实例。 可以选择指定一个名称参数。 如果没有为 DataSet 指定名称,则该名称会设置为“NewDataSet”。也可以基于现有的 DataSet 来创建新的 DataSet。 新的 DataSet 可以是:现有 DataSet 的原样副本;DataSet 的复本,它复制关系结构(即架构)但不包含现有 DataSet 中的任何数据;或 DataSet 的子集,它仅包含现有 DataSet 中已使用 GetChanges 方法修改的行。
    以下代码示例演示了如何构造 DataSet 的实例。
    DataSet customerOrders = new DataSet("CustomerOrders");
    DataSet 是数据的内存驻留表示形式,它提供了独立于数据源的一致关系编程模型。 DataSet 表示整个数据集,其中包含表、约束和表之间的关系。 由于 DataSet 独立于数据源,DataSet 可以包含应用程序本地的数据,也可以包含来自多个数据源的数据。 与现有数据源的交互通过 DataAdapter 来控制。DataAdapter 的 SelectCommand 属性是一个 Command 对象,用于从数据源中检索数据。 DataAdapter 的 InsertCommand、UpdateCommand 和 DeleteCommand 属性也是 Command 对象,用于按照对 DataSet 中数据的修改来管理对数据源中数据的更新。 这些属性在使用 DataAdapter 更新数据源 (ADO.NET)中详细介绍。DataAdapter 的 Fill 方法用于使用 DataAdapter 的 SelectCommand 的结果来填充 DataSet。 Fill 将要填充的 DataSet 和 DataTable 对象(或要使用从 SelectCommand 中返回的行来填充的 DataTable 的名称)作为它的参数。注意: 
    使用 DataAdapter 获取整个表很费时间,尤其是当表中有很多行时。 这是因为访问数据库、查找并处理数据以及将数据通过网络传输到客户端这一过程是很费时间的。 将整个表传输到客户端也会锁定服务器上的所有行。 要想改进性能,可使用 WHERE 子句,以大大减少返回到客户端的行数。 您也可以通过只在 SELECT 语句中显式列出所需的列,来减少返回到客户端的数据量。 另一解决方法是成批检索行(例如一次检索几百行),并仅在客户端完成当前批处理后检索下一批。
     Fill 方法使用 DataReader 对象来隐式地返回用于在 DataSet 中创建表的列名称和类型以及用于填充 DataSet 中的表行的数据。 表和列仅在不存在时才创建;否则,Fill 将使用现有的 DataSet 架构。 列类型按照将 .NET Framework 数据提供程序数据类型映射到 .NET Framework 数据类型中的表创建为 .NET Framework 类型。 主键不会创建,除非主键存在于数据源中并且 DataAdapter.MissingSchemaAction 设置为 MissingSchemaAction.AddWithKey。 如果 Fill 发现某个表存在主键,对于主键列的值与从数据源返回的行的主键列的值匹配的行,将使用数据源中的数据重写 DataSet 中的数据。 如果未找到任何主键,则数据将追加到 DataSet 中的表。 Fill 使用在填充 DataSet 时可能存在的任何映射(请参见DataAdapter 映射 (ADO.NET))。注意: 
    如果 SelectCommand 返回 OUTER JOIN 的结果,则 DataAdapter 不会为生成的 DataTable 设置 PrimaryKey 值。 您需要自己定义 PrimaryKey 以确保正确解析重复行。 有关更多信息,请参见定义主键 (ADO.NET)。
     以下代码示例创建一个 SqlDataAdapter 实例,使用与 Microsoft SQL Server Northwind 数据库的 SqlConnection 并使用客户列表填充 DataSet 中的 DataTable。 向 SqlDataAdapter 构造函数传递的 SQL 语句和 SqlConnection 参数用于创建 SqlDataAdapter 的 SelectCommand 属性。示例string queryString = 
      "SELECT CustomerID, CompanyName FROM dbo.Customers";
    SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);DataSet customers = new DataSet();
    adapter.Fill(customers, "Customers");更多用法请参考MSDN
      

  4.   

    建议看           ASP.NET 2.0数据教程