数据源控件

2008-06-25 15:18:40|  分类: C# |字号 订阅

 

 

数据源控件

1.

     数据源控件既代表数据源,又代表与数据源相连接的数据提供器和数据集。数据源控件是功能强大的控件,在程序运行时,这个控件虽然不会显示在界面上,但是在幕后它却能完成很多有用的工作。

     使用数据源控件之前需要进行配置。当配置完成后,系统内部已经根据确定的数据源自动生成了连接对象、命令对象、数据适配器对象及数据集,并且已经调用了数据适配器的fill()方法,将检索出来的数据放入数据集中。

     通常情况下,只要设计人员对数据源控件的属性进行适当的设置,即可以完成对数据表的分页、排序、更新、删除、增添数据等各项工作,而不需要手工增添其他代码。

     数据源控件可以连接不同类型的数据源:如数据库、XML、文档、其他对象等,但它留给设计者的接口却非常相似。设计人员只需要采用相同的或相似的方法处理数据,而不必关心数据源属于什么类型。

 

2.    数据源控件的类型

     有5种类型,分别可以用于访问数据库(DataBase)、平面文件(Flat File)、各种对象(Object)以及XML文件等。 它们是:

◆     AccessDataSource数据源控件;

◆     SqlDataSource数据源控件;

◆     ObjectDataSource数据源控件;

◆     XMLDataSource数据源控件;

◆     SiteMapDataSource数据源控件。

 

1.     AccessDataSource数据源控件

        Access数据库是小型数据库。如果使用此种数据库,可以利用此种数据源控件对数据表执行选择、插入、编辑和删除数据表记录的操作。 AccessDataSource数据源控件的全名是: System . Web . UI . WebControls . AccessDataSource 。

2.       SqlDataSource数据源控件

        使用SQL Server数据库时,应该使用SqlDataSource数据源控件。此控件还能够用来访问Oracle、ODBC、OLE DB等大型数据库,并对这些数据库执行选择、插入、编辑和删除操作。这是使用的最为普遍的一种数据源控件。

3.       ObjectDataSource数据源控件

        当应用系统比较复杂,需要构建三层分布式架构时,可以将中间层的商务逻辑封装到这个控件中,以便在应用程序中共享。 通过这个控件可以连接和处理数据库、数据集、DataReader或任意其他对象。

4.       XMLDataSource数据源控件

        XML文件通常用来描述层次型数据。因此显示层次型数据的控件如(TreeView)可以通过XMLDataSource数据源控件访问和处理XML文件。

          例如,先将XMLDataSource数据源控件连接到一 XML文件。代码如下:

<asp:XmlDataSource 
ID=”XmlDataSource1”
Runat=”server”
DataFile=”~/Xml/fruits.xml” >
            </asp:XmlDataSource>

      其中fruits.xml是一个XML文件。再将TreeView控件与XMLDataSource数据源控件进行绑定。 代码如下:

<asp:TreeView
ID=”TreeView1”
Runat=”server”
DataSourceID=”XmlDataSource1”
showLines=”True”>
</asp:TreeView>

5.       SiteMapDataSource数据源控件

         控件System . Web . UI . WebControls . SiteMapDataSource允许用来浏览网站。 方法是先建立一个网站地图。网站地图文件是一个XML文件,用来设置网页之间的逻辑关系。例如,一个网站地图文件app . sitemap的代码如下:

    

<?xml  version=”1.0”  encoding=”utf-8” ?>
         <siteMap>
            <siteMapNode  title=”Northwind”  description=”Northwind”
url=”root . aspx”>
<siteMapNode title=”products”
Description=”product line” url=”products.aspx”>
      <siteMapNode title=”Beverages”
Description=”Tasty Beverages”
url=”Beverages.aspx”/>
                 </siteMapNode>
              </siteMapNode>
         </siteMap>

      然后利用TreeView控件通过SiteMapDataSource控件与网站地图文件连接,即可以显示出网站中网页之间的逻辑结构。