打印本文 打印本文 关闭窗口 关闭窗口
使用ADO.NET访问数据库
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2117  更新时间:2009/4/23 10:48:15  文章录入:mintao  责任编辑:mintao
,此名称以“Table”开头,从 Table0 开始。

注意 建议您在提供 TableName 值时避免使用“Table”或“TableN”的命名规则,因为您提供的名称可能会与 DataSet 中现有的默认表名称冲突。如果提供的名称已经存在,将引发异常。

以下示例创建 DataTable 对象的实例,并为其指定名称“Customers”。

 [C#]

DataTable workTable = new DataTable("Customers");

以下示例创建 DataTable 实例,方法是:将其添至 DataSetTables 集合。

 [C#]

DataSet custDS = new DataSet();

DataTable custTable = custDS.Tables.Add("CustTable");

创建和使用 DataView

DataView 使您能够创建 DataTable 中所存储的数据的不同视图,这种功能通常用于数据绑定应用程序。使用 DataView,您可以公开表中具有不同排序顺序的数据,并且可以按行状态或基于筛选器表达式来筛选数据。

DataView 提供数据的动态视图,其内容、排序和成员关系会实时反映对基础 DataTable 的更改。它不同于 DataTableSelect 方法,后者从表中按特定的筛选器和/或排序顺序返回 DataRow 数组,虽然其内容反映对基础表的更改,但其成员关系和排序却则保持静态。DataView 的动态功能使其成为数据绑定应用程序的理想选择。

与数据库提供的视图类似,DataView 为您提供了可向其应用不同排序和筛选条件的单个数据集的动态视图。但是,DataView 和数据库视图之间相当不同的一点在于 DataView 不能作为表来进行处理,并且不能提供联接表的视图。另外,还不能排除存在于源表中的列,也不能追加不存在于源表中的列(如计算列)。

可以使用 DataViewManager 来管理 DataSet 中所有表的视图设置。DataViewManager 为您提供了一种方便的方法来管理每个表的默认视图设置。在将一个控件绑定到 DataSet 的多个表时,绑定到 DataViewManager 是理想的选择。

创建 DataView

创建 DataView 的方法有两种。可以使用 DataView 构造函数,也可以创建对 DataTableDefaultView 属性的引用。DataView 构造函数可以为空,也可以通过单个参数的形式采用 DataTable 或者同时采用 DataTable 与筛选条件、排序条件和行状态筛选器。有关可与 DataView 一起使用的附加参数的更多信息。

由于在创建 DataView 时以及在修改任何 SortRowFilterRowStateFilter 属性时都会生成 DataView 的索引,所以当创建 DataView 时,通过以构造函数参数的形式提供任何初始排序顺序或筛选条件,将实现最佳性能。如果在不指定排序或筛选条件的情况下创建 DataView,然后设置 SortRowFilterRowStateFilter 属性,则会使索引生成至少二次:一次是在创建 DataView 时,另一次是在修改任何排序或筛选属性时。

请注意,如果使用不采用任何参数的构造函数来创建 DataView,那么在设置 Table 属性之前,将无法使用 DataView

以下代码示例演示如何使用 DataView 构造函数来创建 DataViewRowFilterSort 列和 DataViewRowState 将与 DataTable 一起提供。

 [C#]
DataView custDV = new DataView(custDS.Tables["Customers"], 
                               "Country = ''''USA''''", 
                               "ContactName", 
                               DataViewRowState.CurrentRows);

以下代码演示如何使用该表的 DefaultView 属性获取对 DataTable 的默认 DataView 的引用。

 [C#]
DataView custDV = custDS.Tables["Customers"].DefaultView;

总结

    上面是VS.NET中ADO.NET的一些主要的特性,给大家参考一下。有任何建议请MAIL我 paulni@citiz.net

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口