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

ParameterCollection

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 Reihenfolge aus der Northwind-Datenbank gelöscht wird. Zunächst werden Daten aus der Tabelle "Bestellungen" abgerufen und in einem DropDownList Steuerelement angezeigt. Sie müssen die DeleteParameters Eigenschaft explizit deklarieren und die Delete Methode beim Verwenden von datengebundenen Steuerelementen aufrufen, z. B. die (im Gegensatz zu Steuerelementen, wie z. B. die DropDownList GridView Und DetailsView, die die Parameter automatisch auffüllen und die Delete Methode auf einem Datenquellensteuerelement aufrufen). In diesem Beispiel wird das OnClick Ereignis an den privaten OnDeleted Ereignishandler delegiert, der die Delete Methode des SqlDataSource Steuerelements explizit 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 Eigenschaft eine parameterisierte SQL-Abfrage enthält, enthält die DeleteCommand DeleteParameters Auflistung alle Parameter Objekte, die den Parameterplatzhaltern in der SQL Zeichenfolge entsprechen.

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

Je nach ADO.NET Anbieter kann die Reihenfolge der Parameter in der DeleteParameters Auflistung wichtig sein. Die und System.Data.Odbc Anbieter System.Data.OleDb zuordnen die Parameter in der Auflistung entsprechend der Reihenfolge, in der die Parameter in der parameterisierten SQL Abfrage angezeigt werden. Der System.Data.SqlClient Anbieter, der der Standard-ADO.NET anbieter für das Steuerelement ist, ordnet die Parameter in der SqlDataSource Auflistung zu, indem er dem Namen des Parameters mit dem Platzhalter in der SQL-Abfrage entspricht. Weitere Informationen zu parameterisierten SQL Abfragen und Befehlen finden Sie unter Verwenden von Parametern mit dem SqlDataSource-Steuerelement.

Gilt für

Siehe auch