SqlDataSourceView.DeleteParameters 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得包含 DeleteCommand 屬性所用參數的參數集合。
public:
property System::Web::UI::WebControls::ParameterCollection ^ DeleteParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection DeleteParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DeleteParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property DeleteParameters As ParameterCollection
屬性值
ParameterCollection,包含 DeleteCommand 屬性所使用的參數。
- 屬性
範例
下列程式碼範例示範如何設定 DeleteCommand 文字,以從 Northwind 資料庫刪除訂單。 一開始,資料會從 Orders 資料表擷取,並顯示在 控制項中 DropDownList 。 使用資料繫結控制項時,您必須明確宣告 DeleteParameters 屬性並呼叫 Delete 方法,例如 DropDownList 與 等控制項不同的 (,這些 GridView DetailsView 控制項會自動填入參數,並在資料來源控制項上呼叫 Delete 方法) 。 在此範例中 OnClick ,事件會委派給私 OnDeleted 用事件處理常式,這個處理常式會明確呼叫 Delete 控制項的 SqlDataSource 方法。
<%@Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void OnDelete(Object sender, EventArgs e) {
SqlDataSource1.Delete();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT OrderID FROM Orders"
DeleteCommand="DELETE FROM [Order Details] WHERE OrderID=@OrderID;DELETE FROM Orders WHERE OrderID=@OrderID;">
<DeleteParameters>
<asp:ControlParameter Name="OrderID" ControlId="DropDownList1" PropertyName="SelectedValue" />
</DeleteParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="OrderID"
DataValueField="OrderID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<asp:Button
id="Button1"
runat="server"
Text="Delete Order"
OnClick="OnDelete">
</asp:Button>
</form>
</body>
</html>
<%@Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub On_Delete(ByVal sender As Object, ByVal e As EventArgs)
SqlDataSource1.Delete()
End Sub 'On_Delete
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT OrderID FROM Orders"
DeleteCommand="DELETE FROM [Order Details] WHERE OrderID=@OrderID;DELETE FROM Orders WHERE OrderID=@OrderID;">
<DeleteParameters>
<asp:ControlParameter Name="OrderID" ControlId="DropDownList1" PropertyName="SelectedValue" />
</DeleteParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="OrderID"
DataValueField="OrderID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<asp:Button
id="Button1"
runat="server"
Text="Delete Order"
OnClick="On_Delete">
</asp:Button>
</form>
</body>
</html>
備註
DeleteCommand如果屬性包含參數化SQL查詢, DeleteParameters 集合會 Parameter 包含任何對應至SQL字串中參數預留位置的物件。
參數名稱可能會受到 OldValuesParameterFormatString 屬性的影響;具體而言,如果名稱識別主鍵,例如使用 DataKeyNames
資料繫結控制項的 屬性所指定的索引鍵,或在將 屬性設定為 CompareAllValues 值且一組 oldValues
傳遞至對應的資料方法時,刪除和更新屬性 ConflictDetection 。 在此情況下,格式字串會套用至集合中的每個 oldValues
參數名稱。
視 ADO.NET 提供者而定,集合中的 DeleteParameters 參數順序可能很重要。 System.Data.OleDb和 System.Data.Odbc 提供者會根據參數出現在參數化SQL查詢的順序,建立集合中的參數關聯。 提供者 System.Data.SqlClient 是控制項的預設 ADO.NET 提供者 SqlDataSource ,會比對參數的名稱與SQL查詢中的預留位置,使集合中的參數產生關聯。 如需參數化SQL查詢和命令的詳細資訊,請參閱搭配 SqlDataSource 控制項使用參數。