ASPNET 带有多种类型的数据源控件这些控件适用于处理不同类型的数据源这些控件包括
; SqlDataSource控件允许连接到大多数关系型数据库控件名称中的Sql表示数据库能够理解SQL语言这包含了几乎所有以关系格式保存其数据的数据库注意Sql并不仅仅表示Microso} SQL Server数据库管理系统SqlDataSource控件使用某个provider(提供商)这些提供商专用于不同类型的数据库默认的提供商是MicrosoftSQL Server另一个提供商是Oracle两者都是以托管代码(managed code)编写的是NET Framework中最具健壮性的提供商ASPNET 包含了另一个可以和其他所有以OLEDB驱动的数据库通信的提供商(OLEDB是Object Linking and Embeddingfor Databases首字母缩写)由于OLEDB是一个老标准它囊括了几乎所有其他的数据库管理系统包括IBM DB MySQL和SAP然而OLEDB连接的提供商不是用托管代码编写的这意味着它不完全附和NET技术的所有要求但仍然可以在NET中工作我们可以预期第三方将发布更多数据源控件和提供商而且可以预期它们都是以恰当的托管代码编写的
如果开始编写更加复杂的任务您将发现OLEDB数据源控件并不是SystemData层次结构的一部分这些控件实际上位于SystemWebUIControls命名空间内但对于大多数任务这个问题都不会出现您只需从工具条中拖放数据控件即可
; AccessDataSource控件是SqlDataSource控件的一个特例它包含一个针对MicrosoftAccess进行了优化的提供商
; XMLDataSource控件允许连接到XML数据源
; SiteMapDataSource控件是XMLDataSource控件的特殊形式它针对ASPNET Web应用程序站点地图(如您在第z章所创建的那样)的特殊体系结构进行了优化
; ObjectDataSource控件连接到您自己创建的业务对象(在第章讨论)
无论是哪一个数据源控件(如果是SqlDataSource那么无论是哪个提供商)它们都为ASPNET 页面激活了一组行为这包括到数据库的一个连接以及激活数据的读写等行为这些行为对数据绑定控件都是可用的它们负责显示数据和从用户那里接收输入
如果对旧版的ASP很熟悉那么ASPNET 数据源控件其实就相当于象的实例因此ADONET提供数据访问的底层技术在大多数任务中ADONET对对ADONET对象的创建和操作都是由比较高层的数据源控件对象自动地(而且正确和高效地)完成的
简要地说数据源控件创建了使用数据所需的后台基础结构然而它们没有创建任何在Web页面上显示的数据(这个功能请查阅下一节)准确地说它们使得数据绑定控件可以完成读取和写入数据等数据行为
ASPNET 入门教程完整版