SqlDataSourceView 类

定义

支持 SqlDataSource 控件并为数据绑定控件提供一个接口,以便对关系数据库执行 SQL 数据操作。

public ref class SqlDataSourceView : System::Web::UI::DataSourceView, System::Web::UI::IStateManager
public class SqlDataSourceView : System.Web.UI.DataSourceView, System.Web.UI.IStateManager
type SqlDataSourceView = class
    inherit DataSourceView
    interface IStateManager
Public Class SqlDataSourceView
Inherits DataSourceView
Implements IStateManager
继承
SqlDataSourceView
派生
实现

注解

SqlDataSourceView 主要用于数据绑定控件,而不是页面代码中的可编程对象。

ASP.NET 数据源控件包含一个或多个数据列表,由数据源视图对象表示。 类 SqlDataSourceView 扩展 DataSourceView 类,定义与之关联的控件的功能 SqlDataSource ,并实现数据源控件的基本数据功能。 类 SqlDataSourceView 实现控件的数据功能 SqlDataSource ,包括 SelectUpdateInsertDelete 操作、排序、筛选和管理处于视图状态的设置。

SqlDataSourceView尽管 该对象不是由 SqlDataSource 控件直接向页面开发人员公开的,但其许多属性都是。 数据源视图执行的最基本操作是使用 Select 方法从基础数据库检索数据,该方法检索 IEnumerable 数据项的集合。 类 SqlDataSourceView 使用 SQL 查询实现从关系数据库检索数据。 可以参数化 SQL 查询,提高灵活性和安全性。 以下数据检索方法、属性和事件由 SqlDataSourceView 实现,并由其 SqlDataSource 控件直接公开给页面开发人员和其他调用方:

对象 SqlDataSourceView 支持使用 SQL 命令更新关系数据库中的数据。 可以参数化 SQL 命令,提高灵活性和安全性。 数据绑定控件(如 GridViewDetailsView)可以配置为使用 SqlDataSourceView自动执行更新,而其他控件则不能。 以下更新方法、属性和事件由 SqlDataSourceView 实现,并由其 SqlDataSource 控件直接向页面开发人员和其他调用方公开:

SqlDataSourceView支持将新的数据行插入关系数据库中。 属性中指定的 InsertCommand SQL 命令可以参数化,提高灵活性和安全性。 数据绑定控件(如 GridViewDetailsView)可以配置为使用 SqlDataSourceView自动执行插入,而其他控件则不能。 以下插入方法、属性和事件由 SqlDataSourceView 实现,并由其 SqlDataSource 控件直接公开给页面开发人员和其他调用方:

对象 SqlDataSourceView 还支持从关系数据库中删除数据。 与其他命令一样,可以将 属性中指定的 DeleteCommand SQL 命令参数化,以提高灵活性和安全性。 数据绑定控件(如 GridViewDetailsView)可以配置为使用 SqlDataSourceView自动执行删除,而其他控件则不能。 以下 delete 方法、属性和事件由 SqlDataSourceView 实现,并由其 SqlDataSource 控件直接向页面开发人员和其他调用方公开:

当用于在数据检索期间筛选数据的 子句是动态的时,数据检索功能更强大。 换句话说,具有静态 WHERE 子句的 SQL 查询不像 SQL 查询那样灵活和强大,因为其中 WHERE 子句中的值绑定到可以更改的值,例如Web Forms页上的控件中显示的值。 可以使用 FilterExpressionFilterParameters 属性对数据检索应用动态筛选,而不是在每次加载页面时重新生成 SQL 查询并设置 SelectCommand 属性。 这些属性由 实现, SqlDataSourceView 并由其 SqlDataSource 控件直接向数据绑定控件和其他调用方公开。

可以通过添加 ORDER BY 子句对使用 SqlDataSource 控件检索的数据进行排序,这会导致数据库在检索数据时执行排序,或者在检索数据后对内存中的数据进行排序。 可以通过设置SortExpression传递给 Select 方法的 DataSourceSelectArguments 对象的 属性,向 SqlDataSourceView 提供排序表达式。 属性的 SortExpression 语法与属性的语法 DataView.Sort 相同。 如果使用存储过程来检索数据,还可以使用 SortParameterName 属性指定一个参数,该参数专门用于对存储过程调用的结果进行排序。

当多个用户可以同时更改数据库时,可能会发生并发冲突。 控件 SqlDataSource 通过 SqlDataSource.ConflictDetection 属性控制并发。 功能在 属性中 SqlDataSourceView.ConflictDetection 实现。

与许多其他 Web 服务器控件一样, SqlDataSourceView 实现 IStateManager 接口并使用视图状态跨页面请求跟踪其状态。 IsTrackingViewState提供 和 属性和 LoadViewStateSaveViewStateTrackViewState 方法的实现,以便为控件启用视图状态跟踪。 有关详细信息,请参阅 ASP.NET 状态管理概述

构造函数

SqlDataSourceView(SqlDataSource, String, HttpContext)

初始化 SqlDataSourceView 类的新实例,该类将指定的 SqlDataSource 控件设置为当前视图的所有者。

属性

CancelSelectOnNullParameter

获取或设置一个值,该值指示当 SelectParameters 集合中包含的任何一个参数为 null 时,是否取消数据检索操作。

CanDelete

获取一个值,该值指示与当前的 SqlDataSourceView 控件关联的 SqlDataSource 对象是否支持删除操作。

CanInsert

获取一个值,该值指示与当前的 SqlDataSourceView 控件关联的 SqlDataSource 对象是否支持插入操作。

CanPage

获取一个值,该值指示与当前的 SqlDataSourceView 控件关联的 SqlDataSource 对象是否支持将检索的数据分页。

CanRetrieveTotalRowCount

获取一个值,该值指示与当前的 SqlDataSourceView 控件关联的 SqlDataSource 对象除了支持检索数据集外,是否还支持检索数据行总数。

CanSort

获取一个值,该值指示与当前的 SqlDataSourceView 控件关联的 SqlDataSource 对象是否支持检索的数据的排序视图。

CanUpdate

获取一个值,该值指示与当前的 SqlDataSourceView 控件关联的 SqlDataSource 对象是否支持更新操作。

ConflictDetection

获取或设置值,该值指示操作期间基础数据库中的一行数据更改时,SqlDataSource 控件如何执行更新和删除。

DeleteCommand

获取或设置 SqlDataSourceView 对象用于从基础数据库中删除数据的 SQL 字符串。

DeleteCommandType

获取或设置一个值,该值指示 DeleteCommand 属性中的文本是 SQL 语句还是存储过程的名称。

DeleteParameters

获取参数集合,该集合包含由 DeleteCommand 属性使用的参数。

Events

获取数据源视图的事件处理程序委托的列表。

(继承自 DataSourceView)
FilterExpression

获取或设置调用 Select 方法时应用的筛选表达式。

FilterParameters

获取与 FilterExpression 字符串中的任何参数占位符关联的参数的集合。

InsertCommand

获取或设置 SqlDataSourceView 对象用来将数据插入到基础数据库中的 SQL 字符串。

InsertCommandType

获取或设置一个值,该值指示 InsertCommand 属性中的文本是 SQL 语句还是存储过程的名称。

InsertParameters

获取参数集合,该集合包含由 InsertCommand 属性使用的参数。

IsTrackingViewState

获取一个值,该值指示 SqlDataSourceView 对象是否保存对其视图状态的更改。

Name

获取数据源视图的名称。

(继承自 DataSourceView)
OldValuesParameterFormatString

获取或设置一个格式字符串,该字符串应用于传递给 DeleteUpdate 方法的所有参数的名称。

ParameterPrefix

获取用作参数化 SQL 查询中的参数占位符前缀的字符串。

SelectCommand

获取或设置 SqlDataSourceView 对象用来从基础数据库检索数据的 SQL 字符串。

SelectCommandType

获取或设置一个值,该值指示 SelectCommand 属性中的文本是 SQL 查询还是存储过程的名称。

SelectParameters

获取参数集合,该集合包含由 SelectCommand 属性使用的参数。

SortParameterName

获取或设置存储过程参数的名称,在使用存储过程执行数据检索时,该存储过程参数用于对检索到的数据进行排序。

UpdateCommand

获取或设置 SqlDataSourceView 对象用来更新基础数据库中的数据的 SQL 字符串。

UpdateCommandType

获取或设置一个值,该值指示 UpdateCommand 属性中的文本是 SQL 语句还是存储过程的名称。

UpdateParameters

获取参数集合,该集合包含由 UpdateCommand 属性使用的参数。

方法

CanExecute(String)

确定是否能执行指定命令。

(继承自 DataSourceView)
Delete(IDictionary, IDictionary)

使用 DeleteCommand SQL 字符串、DeleteParameters 集合中指定的任何参数,以及指定的 keysoldValues 集合中的值执行删除操作。

Delete(IDictionary, IDictionary, DataSourceViewOperationCallback)

DataSourceView 对象所表示的数据列表执行异步删除操作。

(继承自 DataSourceView)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
ExecuteCommand(String, IDictionary, IDictionary)

执行指定的命令。

(继承自 DataSourceView)
ExecuteCommand(String, IDictionary, IDictionary, DataSourceViewOperationCallback)

执行指定的命令。

(继承自 DataSourceView)
ExecuteDelete(IDictionary, IDictionary)

使用 DeleteCommand SQL 字符串、DeleteParameters 集合中指定的任何参数,以及指定的 keysoldValues 集合中的值执行删除操作。

ExecuteInsert(IDictionary)

使用 InsertCommand SQL 字符串、InsertParameters 集合中指定的所有参数,以及指定的 values 集合中的值执行插入操作。

ExecuteSelect(DataSourceSelectArguments)

使用 SelectCommand SQL 字符串以及 SelectParameters 集合中的所有参数从基础数据库中检索数据。

ExecuteUpdate(IDictionary, IDictionary, IDictionary)

使用 UpdateCommand SQL 字符串、UpdateParameters 集合中的所有参数,以及指定的 keysvaluesoldValues 集合中的值执行更新操作。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Insert(IDictionary)

使用 InsertCommand SQL 字符串、InsertParameters 集合中指定的所有参数,以及指定的 values 集合中的值执行插入操作。

Insert(IDictionary, DataSourceViewOperationCallback)

DataSourceView 对象所表示的数据列表执行异步插入操作。

(继承自 DataSourceView)
LoadViewState(Object)

还原数据源视图的以前保存的视图状态。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnDataSourceViewChanged(EventArgs)

引发 DataSourceViewChanged 事件。

(继承自 DataSourceView)
OnDeleted(SqlDataSourceStatusEventArgs)

Deleted 控件完成删除操作后引发 SqlDataSource 事件。

OnDeleting(SqlDataSourceCommandEventArgs)

Deleting 控件尝试删除操作前引发 SqlDataSource 事件。

OnFiltering(SqlDataSourceFilteringEventArgs)

Filtering 控件筛选选择操作结果前引发 SqlDataSource 事件。

OnInserted(SqlDataSourceStatusEventArgs)

Inserted 控件完成插入操作后引发 SqlDataSource 事件。

OnInserting(SqlDataSourceCommandEventArgs)

Inserting 控件尝试插入操作前引发 SqlDataSource 事件。

OnSelected(SqlDataSourceStatusEventArgs)

Selected 控件完成数据检索操作后引发 SqlDataSource 事件。

OnSelecting(SqlDataSourceSelectingEventArgs)

Selecting 控件尝试数据检索操作前引发 SqlDataSource 事件。

OnUpdated(SqlDataSourceStatusEventArgs)

Updated 控件完成更新操作后引发 SqlDataSource 事件。

OnUpdating(SqlDataSourceCommandEventArgs)

Updating 控件尝试更新操作前引发 SqlDataSource 事件。

RaiseUnsupportedCapabilityError(DataSourceCapabilities)

对照视图支持的功能比较为 ExecuteSelect(DataSourceSelectArguments) 操作请求的功能,由 RaiseUnsupportedCapabilitiesError(DataSourceView) 方法调用。

SaveViewState()

保存自页面发回服务器以来控件的视图状态 SqlDataSourceView 更改。

Select(DataSourceSelectArguments)

使用 SelectCommand SQL 字符串以及 SelectParameters 集合中的所有参数从基础数据库中检索数据。

Select(DataSourceSelectArguments, DataSourceViewSelectCallback)

从基础数据存储中异步获取数据列表。

(继承自 DataSourceView)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
TrackViewState()

使 SqlDataSourceView 对象跟踪其视图状态的更改,以便这些更改可以存储在控件的 StateBag 对象中并且能够在同一页的不同请求间保持。

Update(IDictionary, IDictionary, IDictionary)

使用 UpdateCommand SQL 字符串、UpdateParameters 集合中的所有参数,以及指定的 keysvaluesoldValues 集合中的值执行更新操作。

Update(IDictionary, IDictionary, IDictionary, DataSourceViewOperationCallback)

DataSourceView 对象所表示的数据列表执行异步更新操作。

(继承自 DataSourceView)

事件

DataSourceViewChanged

在数据源视图更改时发生。

(继承自 DataSourceView)
Deleted

完成删除操作后发生。

Deleting

执行删除操作前发生。

Filtering

执行筛选操作前发生。

Inserted

完成插入操作后发生。

Inserting

执行插入操作前发生。

Selected

数据检索操作完成后发生。

Selecting

执行数据检索操作前发生。

Updated

完成更新操作后发生。

Updating

执行更新操作前发生。

显式接口实现

IStateManager.IsTrackingViewState

有关此成员的说明,请参见 IsTrackingViewState

IStateManager.LoadViewState(Object)

有关此成员的说明,请参见 LoadViewState(Object)

IStateManager.SaveViewState()

有关此成员的说明,请参见 SaveViewState()

IStateManager.TrackViewState()

有关此成员的说明,请参见 TrackViewState()

适用于

另请参阅