Freigeben über


SqlDataSourceView.DeleteParameters Eigenschaft

Definition

Ruft die Parameterauflistung ab, die die von der DeleteCommand-Eigenschaft verwendeten Parameter enthält.

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

Eigenschaftswert

Eine ParameterCollection, die die von der DeleteCommand-Eigenschaft verwendeten Parameter enthält.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie der DeleteCommand Text so festgelegt wird, dass eine Bestellung aus der Northwind-Datenbank gelöscht wird. Zunächst werden Daten aus der Tabelle Orders abgerufen und in einem DropDownList -Steuerelement angezeigt. Sie müssen die DeleteParameters -Eigenschaft explizit deklarieren und die Delete -Methode aufrufen, wenn Sie datengebundene Steuerelemente wie z. B. das DropDownList -Steuerelement verwenden (im Gegensatz zu Steuerelementen wie GridView und DetailsView, die die Parameter automatisch auffüllen und die Delete -Methode für ein Datenquellensteuerelement aufrufen). In diesem Beispiel wird das OnClick Ereignis an den privaten OnDeleted Ereignishandler delegiert, der explizit die Delete -Methode des SqlDataSource Steuerelements aufruft.

<%@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>

Hinweise

Wenn die DeleteCommand -Eigenschaft eine parametrisierte SQL-Abfrage enthält, enthält die DeleteParameters Auflistung alle Parameter Objekte, die den Parameterplatzhaltern in der SQL-Zeichenfolge entsprechen.

Parameternamen können von der OldValuesParameterFormatString Eigenschaft beeinflusst werden, insbesondere, wenn der Name einen Primärschlüssel identifiziert, z. B. einen Schlüssel, der mithilfe der DataKeyNames -Eigenschaft eines datengebundenen Steuerelements angegeben wird, oder in Lösch- und Aktualisierungsszenarien, in denen die ConflictDetection Eigenschaft auf den CompareAllValues Wert festgelegt ist und ein Satz von oldValues an die entsprechende Datenmethode übergeben wird. In diesem Fall wird die Formatzeichenfolge auf jeden Parameternamen in der oldValues Auflistung angewendet.

Abhängig vom ADO.NET Anbieters kann die Reihenfolge der Parameter in der DeleteParameters Auflistung wichtig sein. Die System.Data.OleDb Anbieter und System.Data.Odbc ordnen die Parameter in der Auflistung entsprechend der Reihenfolge zu, in der die Parameter in der parametrisierten SQL-Abfrage angezeigt werden. Der System.Data.SqlClient Anbieter, der der Standardanbieter ADO.NET für das SqlDataSource Steuerelement ist, ordnet die Parameter in der Auflistung zu, indem er den Namen des Parameters mit dem Platzhalter in der SQL-Abfrage abgleicht. Weitere Informationen zu parametrisierten SQL-Abfragen und -Befehlen finden Sie unter Verwenden von Parametern mit dem SqlDataSource-Steuerelement.

Gilt für:

Weitere Informationen