SqlDataSourceView.DeleteParameters Właściwość

Definicja

Pobiera kolekcję parametrów zawierającą parametry, które są używane przez DeleteCommand właściwość.

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

Wartość właściwości

ParameterCollection

Element ParameterCollection zawierający parametry używane przez DeleteCommand właściwość .

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak ustawić DeleteCommand tekst w celu usunięcia zamówienia z bazy danych Northwind. Początkowo dane są pobierane z tabeli Orders (Zamówienia) i wyświetlane w kontrolce DropDownList . Należy jawnie zadeklarować właściwość i wywołać Delete metodę DeleteParameters podczas korzystania z kontrolek powiązanych z danymi, takich jak (w przeciwieństwie do kontrolek, takich jak DropDownList GridView i DetailsView, które automatycznie wypełniają parametry i wywoływać Delete metodę w kontrolce źródła danych). W tym przykładzie OnClick zdarzenie jest delegowane do prywatnej OnDeleted procedury obsługi zdarzeń, która jawnie wywołuje Delete metodę kontrolki 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>

Uwagi

DeleteCommand Jeśli właściwość zawiera sparametryzowane zapytanie SQL, DeleteParameters kolekcja zawiera wszystkie Parameter obiekty odpowiadające symbolom zastępczym parametrów w ciągu SQL.

Nazwy parametrów mogą mieć wpływ na OldValuesParameterFormatString właściwość. W szczególności jeśli nazwa identyfikuje klucz podstawowy, taki jak klucz określony przy użyciu DataKeyNames właściwości kontrolki powiązanej z danymi, lub w scenariuszach usuwania i aktualizowania, w których ConflictDetection właściwość jest ustawiona na wartość i zestaw jest oldValues przekazywany do CompareAllValues odpowiedniej metody danych. W tym przypadku ciąg formatu jest stosowany do każdej nazwy parametru w kolekcji oldValues .

W zależności od dostawcy ADO.NET kolejność parametrów w DeleteParameters kolekcji może być ważna. Dostawcy System.Data.OleDb i System.Data.Odbc kojarzą parametry w kolekcji zgodnie z kolejnością wyświetlania parametrów w sparametryzowanym zapytaniu SQL. System.Data.SqlClient Dostawca, który jest domyślnym dostawcą ADO.NET dla SqlDataSource kontrolki, kojarzy parametry w kolekcji, pasując do nazwy parametru z symbolem zastępczym w zapytaniu SQL. Aby uzyskać więcej informacji na temat sparametryzowanych SQL zapytań i poleceń, zobacz Using Parameters with the SqlDataSource Control (Używanie parametrów za pomocą kontrolki SqlDataSource).

Dotyczy

Zobacz też