SqlDataSourceView 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
支援 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 主要是供資料繫結控制項使用,而不是頁面程式碼中的可程式化物件。
ASP.NET 資料來源控制項包含一或多個資料清單,由資料來源檢視物件表示。 類別 SqlDataSourceView 會 DataSourceView 擴充 類別、定義與其相關聯之控制項的功能 SqlDataSource ,並實作資料來源控制項的基本資料功能。 類別 SqlDataSourceView 會實作 SqlDataSource 控制項的資料功能,包括 Select 、 Update 、 Insert 和 Delete 作業、排序、篩選和管理保留在檢視狀態中的設定。
SqlDataSourceView雖然 物件不會由 SqlDataSource 控制項直接公開給頁面開發人員,但其許多屬性都是 。 資料來源檢視執行的最基本作業是使用 Select 方法從基礎資料庫擷取資料,以擷取 IEnumerable 資料項目的集合。 類別會 SqlDataSourceView 使用 SQL 查詢,從關係資料庫實作資料擷取。 SQL 查詢可以參數化,以取得更大的彈性和安全性。 下列資料擷取方法、屬性和事件是由 實作, SqlDataSourceView 並由其 SqlDataSource 控制項直接公開給頁面開發人員和其他呼叫端:
物件 SqlDataSourceView 支援使用 SQL 命令更新關係資料庫中的資料。 SQL 命令可以參數化,以取得更大的彈性和安全性。 資料繫結控制項,例如 GridView 和 DetailsView ,可以設定為使用 自動執行 SqlDataSourceView 更新,而其他控制項則無法執行。 下列更新方法、屬性和事件是由 實作, SqlDataSourceView 並由其 SqlDataSource 控制項直接公開給頁面開發人員和其他呼叫端:
SqlDataSourceView支援將新的資料列插入關係資料庫中。 屬性中指定的 InsertCommand SQL 命令可以參數化,以提升彈性和安全性。 資料繫結控制項,例如 GridView 和 DetailsView ,可以設定為使用 SqlDataSourceView 自動執行插入,而其他控制項則無法執行。 下列插入方法、屬性和事件是由 實作, SqlDataSourceView 並由其 SqlDataSource 控制項直接公開給頁面開發人員和其他呼叫端:
物件 SqlDataSourceView 也支援從關係資料庫刪除資料。 如同其他命令,屬性中指定的 DeleteCommand SQL 命令可以參數化,以提升彈性和安全性。 資料繫結控制項,例如 GridView 和 DetailsView ,可以設定為使用 SqlDataSourceView 自動執行刪除,而其他控制項則無法執行。 下列刪除方法、屬性和事件是由 實作, SqlDataSourceView 並由其 SqlDataSource 控制項直接公開給頁面開發人員和其他呼叫端:
當用來在資料擷取期間篩選資料的 子句是動態的時,資料擷取功能更強大。 換句話說,具有靜態 WHERE 子句的 SQL 查詢不像 SQL 查詢具有彈性且功能強大,其中 WHERE 子句中的值系結至可變更的值,例如Web Form頁面上控制項中顯示的值。 您可以使用 FilterExpression 和 FilterParameters 屬性,將動態篩選套用至資料擷取,而不是重建 SQL 查詢,並在每個頁面載入上設定 SelectCommand 屬性。 這些屬性是由 所實作 SqlDataSourceView ,並由其 SqlDataSource 控制項直接公開給資料繫結控制項和其他呼叫端。
您可以藉由加入 ORDER BY 子句來排序您以 SqlDataSource 控制項擷取的資料,這會導致資料庫在擷取資料時執行排序,或在擷取資料之後排序記憶體中的資料。 您可以藉由設定 SortExpression 傳遞給 Select 方法的物件 DataSourceSelectArguments 屬性,來提供排序運算式 SqlDataSourceView 。 屬性的 SortExpression 語法與屬性的 DataView.Sort 語法相同。 如果您使用預存程式來擷取資料,您也可以使用 SortParameterName 屬性來指定用於排序預存程序呼叫結果的參數。
當多個使用者可以同時變更資料庫時,可能會發生並行衝突。 控制項 SqlDataSource 具有透過 屬性的控制項並行 SqlDataSource.ConflictDetection 。 功能會在 屬性中實作 SqlDataSourceView.ConflictDetection 。
如同許多其他 Web 服務器控制項,會 SqlDataSourceView 實作 IStateManager 介面,並使用檢視狀態來追蹤其跨頁面要求的狀態。 IsTrackingViewState提供 和 屬性和 LoadViewState 、 SaveViewState 和 TrackViewState 方法的實作,以啟用控制項的檢視狀態追蹤。 如需詳細資訊,請參閱 ASP.NET 狀態管理概觀。
建構函式
SqlDataSourceView(SqlDataSource, String, HttpContext) |
將指定之 SqlDataSourceView 控制項設定為目前檢視的擁有人,初始化 SqlDataSource 類別的新執行個體。 |
屬性
CancelSelectOnNullParameter |
取得或設定值,指出當 SelectParameters 集合中包含的任何參數評估為 |
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 | |
ParameterPrefix |
取得字串,用於將參數替代符號做為參數型 SQL 查詢中的前置詞。 |
SelectCommand |
取得或設定 SQL 字串,SqlDataSourceView 物件會用來擷取基礎資料庫的資料。 |
SelectCommandType |
取得或設定值,指出 SelectCommand 屬性中的文字為 SQL 查詢還是預存程序的名稱。 |
SelectParameters |
取得包含 SelectCommand 屬性所用參數的參數集合。 |
SortParameterName |
取得或設定預存程序參數的名稱,用於在使用預存程序執行資料擷取時,對擷取的資料進行排序。 |
UpdateCommand |
取得或設定 SQL 字串,SqlDataSourceView 物件會用來更新基礎資料庫的資料。 |
UpdateCommandType |
取得或設定值,指出 UpdateCommand 屬性中的文字是 SQL 陳述式還是預存程序的名稱。 |
UpdateParameters |
取得包含 UpdateCommand 屬性所用參數的參數集合。 |
方法
事件
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()。 |
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應