Språk

SqlDataSourceView.DeleteParameters Egenskap

Definition

Hämtar parametersamlingen som innehåller de parametrar som används av egenskapen 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

Egenskapsvärde

En ParameterCollection som innehåller de parametrar som används av egenskapen DeleteCommand .

Attribut

Exempel

Följande kodexempel visar hur du ställer in DeleteCommand texten för att ta bort en order från Northwind-databasen. Inledningsvis hämtas data från tabellen Beställningar och visas i en DropDownList kontroll. Du måste uttryckligen deklarera DeleteParameters egenskapen och anropa Delete metoden när du använder databundna kontroller, till exempel DropDownList (till skillnad från kontroller, till GridView exempel och DetailsView, som automatiskt fyller i parametrarna och anropar Delete metoden på en datakällskontroll). I det här exemplet OnClick delegeras händelsen till den privata OnDeleted händelsehanteraren, som uttryckligen anropar Delete kontrollens SqlDataSource metod.

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

Kommentarer

Om egenskapen DeleteCommand innehåller en parameteriserad SQL-fråga DeleteParameters innehåller samlingen alla Parameter objekt som motsvarar parameterplatshållarna i SQL-strängen.

Parameternamn kan påverkas av OldValuesParameterFormatString egenskapen. Mer specifikt om namnet identifierar en primärnyckel, till exempel en nyckel som anges med hjälp DataKeyNames av egenskapen för en databunden kontroll, eller i borttagnings- och uppdateringsscenarier där ConflictDetection egenskapen är inställd på CompareAllValues värdet och en uppsättning oldValues skickas till motsvarande datametod. I det här fallet tillämpas formatsträngen på varje parameternamn i oldValues samlingen.

Beroende på ADO.NET-providern kan ordningen på parametrarna i samlingen DeleteParameters vara viktig. Leverantörerna System.Data.OleDb och System.Data.Odbc associerar parametrarna i samlingen enligt den ordning som parametrarna visas i den parametriserade SQL-frågan. Providern System.Data.SqlClient, som är standardprovidern ADO.NET för kontrollen SqlDataSource, associerar parametrarna i samlingen genom att matcha namnet på parametern med platshållaren i SQL-frågan. Mer information om parameteriserade SQL-frågor och -kommandon finns i Använda parametrar med SqlDataSource-kontrollen.

Gäller för

Se även