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 資料來源控制項包含一或多個資料清單,由資料來源檢視物件表示。 類別 SqlDataSourceViewDataSourceView 擴充 類別、定義與其相關聯之控制項的功能 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 自動執行刪除,而其他控制項則無法執行。 下列刪除方法、屬性和事件是由 實作, SqlDataSourceView 並由其 SqlDataSource 控制項直接公開給頁面開發人員和其他呼叫端:

當用來在資料擷取期間篩選資料的 子句是動態的時,資料擷取功能更強大。 換句話說,具有靜態 WHERE 子句的 SQL 查詢不像 SQL 查詢具有彈性且功能強大,其中 WHERE 子句中的值系結至可變更的值,例如Web Form頁面上控制項中顯示的值。 您可以使用 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

取得或設定 SQL 字串,SqlDataSourceView 會用來刪除基礎資料庫的資料。

DeleteCommandType

取得或設定值,指出 DeleteCommand 屬性中的文字是 SQL 陳述式還是預存程序的名稱。

DeleteParameters

取得包含 DeleteCommand 屬性所用參數的參數集合。

Events

取得資料來源檢視的事件處理常式委派清單。

(繼承來源 DataSourceView)
FilterExpression

取得或設定當呼叫 Select 時會套用的篩選運算式。

FilterParameters

取得與 FilterExpression 字串中任何參數替代符號關聯的參數集合。

InsertCommand

取得或設定 SQL 字串,SqlDataSourceView 物件會用來將資料插入基礎資料庫。

InsertCommandType

取得或設定值,指出 InsertCommand 屬性中的文字是 SQL 陳述式還是預存程序的名稱。

InsertParameters

取得包含 InsertCommand 屬性所用參數的參數集合。

IsTrackingViewState

取得值,指出 SqlDataSourceView 物件是否正在將變更儲存到它的檢視狀態。

Name

取得資料來源檢視的名稱。

(繼承來源 DataSourceView)
OldValuesParameterFormatString

取得或設定格式字串,套用至傳遞給 DeleteUpdate 方法之任何參數的名稱。

ParameterPrefix

取得字串,用於將參數替代符號做為參數型 SQL 查詢中的前置詞。

SelectCommand

取得或設定 SQL 字串,SqlDataSourceView 物件會用來擷取基礎資料庫的資料。

SelectCommandType

取得或設定值,指出 SelectCommand 屬性中的文字為 SQL 查詢還是預存程序的名稱。

SelectParameters

取得包含 SelectCommand 屬性所用參數的參數集合。

SortParameterName

取得或設定預存程序參數的名稱,用於在使用預存程序執行資料擷取時,對擷取的資料進行排序。

UpdateCommand

取得或設定 SQL 字串,SqlDataSourceView 物件會用來更新基礎資料庫的資料。

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()

適用於

另請參閱