Sdílet prostřednictvím


SqlDataSource.DeleteParameters Vlastnost

Definice

Získá kolekci parametrů obsahující parametry, které jsou používány DeleteCommand vlastností z SqlDataSourceView objektu, který je přidružen k SqlDataSource ovládacího prvku.

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

Hodnota vlastnosti

A ParameterCollection , který obsahuje parametry používané vlastností DeleteCommand .

Atributy

Příklady

Následující příklad kódu ukazuje, jak nastavit DeleteCommand text pro odstranění objednávky z databáze Northwind. Zpočátku se data načtou z tabulky Orders a zobrazí se v ovládacím DropDownList prvku. Při použití ovládacích prvků vázaných na data musíte explicitně deklarovat DeleteParameters vlastnost a volat Delete metodu, například DropDownList (na rozdíl od jiných ovládacích prvků, například GridView a DetailsView), které automaticky naplní parametry a volání Delete ovládacího prvku zdroje dat). V tomto příkladu OnClick je událost delegována na obslužnou rutinu privátní OnDelete události, která explicitně volá Delete metodu SqlDataSource ovládacího prvku.

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

Poznámky

DeleteCommand Pokud vlastnost obsahuje parametrizovaný dotaz SQL, DeleteParameters kolekce obsahuje všechny Parameter objekty, které odpovídají zástupným symbolům parametrů v řetězci SQL.

Poznámka:

Ujistěte se, že žádné BoundField ovládací prvky v ovládacím prvku vázaném na data, které vytvoříte s vazbou SqlDataSource na ovládací prvek, mají názvy, které odpovídají názvům parametrů v kolekci DeleteParameters . Parametry, které mají stejný název jako svázaná pole, jsou z příkazu SQL vyloučeny a může dojít k chybě parametru, který nebyl zadán.

ConflictDetection Pokud je vlastnost nastavena na CompareAllValues hodnotu, parametry jsou vytvořeny pro staré i nové hodnoty dat. Parametry starých hodnot jsou pojmenovány podle OldValuesParameterFormatString vlastnosti.

V závislosti na poskytovateli ADO.NET může být důležité pořadí parametrů v kolekci DeleteParameters . System.Data.Odbc Zprostředkovatelé System.Data.OleDb přidružují parametry v kolekci podle pořadí, ve kterém se parametry zobrazují v parametrizovaném dotazu SQL. System.Data.SqlClient Zprostředkovatel, což je výchozí ADO.NET zprostředkovatel pro SqlDataSource ovládací prvek, přidruží parametry v kolekci tak, že se shoduje s názvem parametru se zástupným symbolem v dotazu SQL. Další informace o parametrizovaných dotazech a příkazech SQL naleznete v tématu Použití parametrů s ovládacím prvku SqlDataSource.

Vlastnost DeleteParameters načte DeleteParameters vlastnost, která je obsažena SqlDataSourceView objektem, který je přidružen k SqlDataSource ovládacího prvku.

Důležité

Hodnoty se vloží do parametrů bez ověření, což je potenciální bezpečnostní hrozba. Deleting Před spuštěním dotazu pomocí události ověřte hodnoty parametrů. Další informace naleznete v tématu Přehled zneužití skriptů.

Platí pro

Viz také