SqlDataSourceView.DeleteParameters 属性

定义

获取参数集合,该集合包含由 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 。 在使用数据绑定控件(如 DropDownList ()时,必须显式声明 DeleteParameters 属性并调用 Delete 方法,这与 控件(如 和 DetailsViewGridView不同,后者会自动填充参数,并在数据源控件) 上调用 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集合包含与 SQL 字符串中的参数占位符对应的任何Parameter对象。

参数名称可能受 OldValuesParameterFormatString 属性的影响;具体而言,如果名称标识主键,例如使用 DataKeyNames 数据绑定控件的 属性指定的键,或者在删除和更新方案中 ConflictDetection ,将 属性设置为 CompareAllValues 值,并将一组 传递给 oldValues 相应的数据方法。 在这种情况下,格式字符串将应用于集合中的每个 oldValues 参数名称。

根据 ADO.NET 提供程序,集合中 DeleteParameters 参数的顺序可能很重要。 System.Data.OleDbSystem.Data.Odbc 提供程序根据参数化 SQL 查询中的显示顺序关联集合中的参数。 提供程序 System.Data.SqlClient 是控件的默认 ADO.NET 提供程序 SqlDataSource ,通过将参数的名称与 SQL 查询中的 占位符匹配来关联集合中的参数。 有关参数化 SQL 查询和命令的详细信息,请参阅 对 SqlDataSource 控件使用参数

适用于

另请参阅