ObjectDataSource 控件使用依赖中间层业务对象来管理数据的 Web 应用程序中的业务对象或其他类。此控件旨在通过与实现一种或多种方法的对象交互来检索或修改数据。当数据绑定控件与 ObjectDataSource 控件交互以检索或修改数据时,ObjectDataSource 控件将值作为方法调用中的参数,从绑定控件传递到源对象。
源对象的数据检索方法必须返回 DataSet、DataTable 或 DataView 对象,或者返回实现 IEnumerable 接口的对象。如果数据作为 DataSet、DataTable 或 DataView 对象返回,ObjectDataSource 控件便可以缓存和筛选这些数据。如果源对象接受 ObjectDataSource 控件中的页面大小和记录索引信息,您还可以实现高级分页方案。
SqlDataSource 控件使用 SQL 命令来检索和修改数据。SqlDataSource 控件可用于 Microsoft SQL Server、OLE DB、ODBC 和 Oracle 数据库。
SqlDataSource 控件可将结果作为 DataReader 或 DataSet 对象返回。当结果作为 DataSet 返回时,该控件支持排序、筛选和缓存。使用 Microsoft SQL Server 时,该控件还有一个优点,那就是当数据库发生更改时,SqlCacheDependency 对象可使缓存结果无效。
AccessDataSource 控件是 SqlDataSource 控件的专用版本,专为使用 Microsoft Access .mdb 文件而设计。与 SqlDataSource 控件一样,可以使用 SQL 语句来定义控件获取和检索数据的方式。