SqlDataSource.DeleteParameters Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u de verzameling parameters op die de parameters bevat die door de DeleteCommand eigenschap worden gebruikt van het SqlDataSourceView object dat is gekoppeld aan het SqlDataSource besturingselement.
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
Waarde van eigenschap
Een ParameterCollection die de parameters bevat die door de DeleteCommand eigenschap worden gebruikt.
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de DeleteCommand tekst instelt om een order uit de Northwind-database te verwijderen. In eerste instantie worden gegevens opgehaald uit de tabel Orders en weergegeven in een DropDownList besturingselement. U moet de eigenschap expliciet declareren DeleteParameters en de Delete methode aanroepen wanneer u gegevensgebonden besturingselementen gebruikt, zoals DropDownList (in tegenstelling tot andere besturingselementen, zoals GridView en DetailsView, waarmee de parameters automatisch worden ingevuld en een besturingselement voor een gegevensbron wordt aangeroepen Delete ). In dit voorbeeld wordt de OnClick gebeurtenis gedelegeerd aan de privégebeurtenis-handler OnDelete , die expliciet de Delete methode van het SqlDataSource besturingselement aanroept.
<%@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>
Opmerkingen
Als de DeleteCommand eigenschap een geparameteriseerde SQL-query bevat, bevat de DeleteParameters verzameling objecten Parameter die overeenkomen met de tijdelijke aanduidingen voor de parameter in de SQL-tekenreeks.
Note
Zorg ervoor dat er geen BoundField besturingselementen in het gegevensgebonden besturingselement die u verbindt met het SqlDataSource besturingselement namen hebben die overeenkomen met parameternamen in de DeleteParameters verzameling. Parameters met dezelfde naam als afhankelijke velden worden uitgesloten van de SQL-opdracht en er kan een fout 'parameter is niet opgegeven' optreden.
Als de ConflictDetection eigenschap is ingesteld op de CompareAllValues waarde, worden de parameters gemaakt voor zowel de oude als de nieuwe waarden van de gegevens. De parameters voor de oude waarden worden benoemd volgens de OldValuesParameterFormatString eigenschap.
Afhankelijk van de ADO.NET provider kan de volgorde van de parameters in de verzameling DeleteParameters belangrijk zijn. De System.Data.OleDb en System.Data.Odbc providers koppelen de parameters in de verzameling aan de volgorde waarin de parameters worden weergegeven in de geparameteriseerde SQL-query. De System.Data.SqlClient-provider, de standaard-ADO.NET-provider voor het besturingselement SqlDataSource, koppelt de parameters in de verzameling door de naam van de parameter te koppelen aan de tijdelijke aanduiding in de SQL-query. Zie Parameters gebruiken met het besturingselement SqlDataSource voor meer informatie over geparameteriseerde SQL-query's en -opdrachten.
De DeleteParameters eigenschap haalt de DeleteParameters eigenschap op die is opgenomen in het SqlDataSourceView object dat is gekoppeld aan het SqlDataSource besturingselement.
Important
Waarden worden ingevoegd in parameters zonder validatie. Dit is een mogelijke beveiligingsrisico. Gebruik de Deleting gebeurtenis om parameterwaarden te valideren voordat u de query uitvoert. Zie Overzicht van Script Exploits voor meer informatie.