SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments) 方法

定義

使用 SelectCommand SQL 字串和 SelectParameters 集合中的任何參數,從基礎資料庫擷取資料。

protected public:
 override System::Collections::IEnumerable ^ ExecuteSelect(System::Web::UI::DataSourceSelectArguments ^ arguments);
protected internal override System.Collections.IEnumerable ExecuteSelect (System.Web.UI.DataSourceSelectArguments arguments);
override this.ExecuteSelect : System.Web.UI.DataSourceSelectArguments -> System.Collections.IEnumerable
Protected Friend Overrides Function ExecuteSelect (arguments As DataSourceSelectArguments) As IEnumerable

參數

arguments
DataSourceSelectArguments

DataSourceSelectArguments 物件,用於針對資料要求基本資料擷取以外的作業。

傳回

資料列的 IEnumerable 清單。

例外狀況

傳遞給 ExecuteSelect(DataSourceSelectArguments) 方法的 arguments 指定資料來源應在擷取資料時執行一些額外工作,以透過擷取的資料啟用分頁或排序,但是資料來源控制項不支援所要求的功能。

-或-

快取已啟用,但是資料來源的 DataSourceMode 屬性未設定為 DataSet

-或-

已設定 SortParameterName 屬性,但是 CommandType 未設定為 StoredProcedure

資料來源無法建立資料庫連接。

-或-

快取已啟用,但內部快取和命令類型不相符。

備註

類別 SqlDataSourceView 會實作繼承 ExecuteSelect 的方法,以從資料庫擷取資料。 頁面開發人員和資料繫結控制項作者不會直接呼叫 ExecuteSelect 方法;請改用公開的方法 Select

在執行資料擷取之前, OnSelecting 會呼叫 方法來引發 Selecting 事件。 您可以處理此事件來檢查參數的值,並在擷取資料之前執行任何前置處理。

若要執行作業,物件會 SqlDataSourceView 使用 SelectCommand 文字和任何相關聯的 SelectParameters 來建 DbCommand 置 物件,並針對基礎資料庫執行該物件。 作業完成之後, OnSelected 會呼叫 方法來引發 Selected 事件。 您可以處理此事件,以檢查任何傳回值、錯誤碼,以及執行任何後續處理。

如果 設定為 DataSet ,則 ExecuteSelect 方法會 DataView 傳回 物件;如果 設定為 ,則 IDataReader 傳回 物件。如果 DataSourceMode 設定 DataReader 為 ,則傳回 物件。 DataSourceMode 當您完成讀取資料時, IDataReader 請關閉 物件。

DataSourceMode如果 設定為 DataSet 且已啟用快取,則會 SqlDataSourceView 從 擷取資料,並在資料作業期間將資料儲存至快取。 根據 和 CacheExpirationPolicy 屬性的組合 CacheDuration 所指定的快取行為,建立、捨棄或重新整理快取。

重要

當您在 Windows 驗證 下使用用戶端模擬時,會在第一位使用者存取資料時快取資料。 如果另一位使用者要求相同的資料,則會從快取擷取資料。 不會透過對資料庫進行另一個呼叫來擷取資料,以驗證使用者對資料的存取權。 如果您預期有多個使用者存取資料,而且您希望每個擷取資料都由資料庫的安全性設定驗證,請勿使用快取。

DataSourceMode如果 設定 DataSet 為 且已指定 , FilterExpression 則會隨著提供 FilterParameters 的任何一起進行評估,且產生的篩選會在資料擷取作業期間套用至資料清單。

適用於

另請參閱