SqlDataSource.SelectParameters 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得參數集合,包含與 SelectCommand 控制項相關聯之 SqlDataSourceView 物件 SqlDataSource 屬性所使用的參數。
public:
property System::Web::UI::WebControls::ParameterCollection ^ SelectParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection SelectParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.SelectParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property SelectParameters As ParameterCollection
屬性值
ParameterCollection,包含 SelectCommand 屬性所使用的參數。
- 屬性
範例
下列程式代碼範例示範如何將 屬性設定 SelectCommand 為 SQL 查詢,以從 Microsoft SQL Server 中的 Northwind 資料庫擷取數據。 SQL 查詢會參數化,而且 屬性中的 SelectCommand 佔位元會與 ControlParameter 加入至 SelectParameters 集合的物件相符。 系 DropDownList 結至 的 ControlParameter 控件會做為控件中顯示的 ListBox 篩選。
如需您可以使用之其他參數類型的相關信息,請參閱 Parameter 類別概觀。
注意
因為 參數是用於 WHERE 子句,所以在 SelectParameters 程式代碼範例中使用 屬性的功能相當於使用 FilterExpression 和 FilterParameters 屬性。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p><asp:dropdownlist
id="DropDownList1"
runat="server"
autopostback="True">
<asp:listitem selected="True">Sales Representative</asp:listitem>
<asp:listitem>Sales Manager</asp:listitem>
<asp:listitem>Vice President, Sales</asp:listitem>
</asp:dropdownlist></p>
<asp:sqldatasource
id="SqlDataSource1"
runat="server"
connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
<selectparameters>
<asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/>
</selectparameters>
</asp:sqldatasource>
<p><asp:listbox
id="ListBox1"
runat="server"
datasourceid="SqlDataSource1"
datatextfield="LastName">
</asp:listbox></p>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p><asp:dropdownlist
id="DropDownList1"
runat="server"
autopostback="True">
<asp:listitem selected="True">Sales Representative</asp:listitem>
<asp:listitem>Sales Manager</asp:listitem>
<asp:listitem>Vice President, Sales</asp:listitem>
</asp:dropdownlist></p>
<asp:sqldatasource
id="SqlDataSource1"
runat="server"
connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
selectcommand="SELECT LastName FROM Employees WHERE Title = @Title">
<selectparameters>
<asp:controlparameter name="Title" controlid="DropDownList1" propertyname="SelectedValue"/>
</selectparameters>
</asp:sqldatasource>
<p><asp:listbox
id="ListBox1"
runat="server"
datasourceid="SqlDataSource1"
datatextfield="LastName">
</asp:listbox></p>
</form>
</body>
</html>
備註
SelectCommand如果屬性包含參數化 SQL 查詢,SelectParameters集合會包含任何Parameter對應至 SQL 字串中參數佔位元的物件。
視 ADO.NET 提供者而定,集合中的 SelectParameters 參數順序可能很重要。 System.Data.OleDb和 System.Data.Odbc 提供者會根據參數出現在參數化 SQL 查詢中的順序,關聯集合中的參數。 System.Data.SqlClient提供者是控件的預設 ADO.NET 提供者SqlDataSource,會比對參數的名稱與 SQL 查詢中的佔位元別名,使集合中的參數產生關聯。 如需參數化 SQL 查詢和命令的詳細資訊,請參閱 搭配 SqlDataSource 控制項使用參數。
屬性SelectParameters會SelectParameters擷取與控件相關聯SqlDataSource之 物件所包含的SqlDataSourceView屬性。
重要
值會插入參數中,而不需驗證,這是潛在的安全性威脅。 在執行查詢之前, Selecting 請使用 事件來驗證參數值。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。