SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用 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 的任何一起進行評估,且產生的篩選會在資料擷取作業期間套用至資料清單。