SqlDataSource.DeleteParameters Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá kolekci parametrů, která obsahuje parametry, které používá DeleteCommand vlastnost z objektu SqlDataSourceView , který je přidružen k ovládacímu SqlDataSource 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é DeleteCommand vlastností.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak nastavit DeleteCommand text na odstranění objednávky z databáze Northwind. Zpočátku se data načítají 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ů, jako GridView je a DetailsView, které automaticky naplní parametry a volají Delete ovládací prvek zdroje dat). V tomto příkladu OnClick je událost delegovaná 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é svážete, SqlDataSource nemají názvy, které odpovídají názvům parametrů v kolekci DeleteParameters . Parametry, které mají stejný název jako vázaná pole, jsou z příkazu SQL vyloučeny a může dojít k chybě "parametr nebyl zadán".
ConflictDetection Pokud je vlastnost nastavena CompareAllValues na hodnotu, vytvoří se parametry pro staré i nové hodnoty dat. Parametry pro staré hodnoty 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 . Zprostředkovatelé System.Data.OleDb a System.Data.Odbc přidružují parametry v kolekci podle pořadí, ve kterém se parametry zobrazují v parametrizovaném dotazu SQL. Zprostředkovatel System.Data.SqlClient , který je výchozím ADO.NET zprostředkovatelem SqlDataSource ovládacího prvku, přidruží parametry v kolekci tak, že název parametru spáruje se zástupným symbolem v dotazu SQL. Další informace o parametrizovaných dotazech a příkazech SQL najdete v tématu Použití parametrů s ovládacím prvku SqlDataSource.
Vlastnost DeleteParameters načte DeleteParameters vlastnost, která je obsažena objektem SqlDataSourceView , který je přidružen k ovládacímu SqlDataSource prvku.
Důležité
Hodnoty se do parametrů vkládají bez ověření, což představuje potenciální bezpečnostní hrozbu. Událost použijte Deleting k ověření hodnot parametrů před spuštěním dotazu. Další informace najdete v tématu Přehled zneužití skriptů.