SqlDataSourceView.DeleteParameters Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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 Bestellung aus der Northwind-Datenbank gelöscht wird. Zunächst werden Daten aus der Tabelle Orders abgerufen und in einem DropDownList -Steuerelement angezeigt. Sie müssen die DeleteParameters -Eigenschaft explizit deklarieren und die Delete -Methode aufrufen, wenn Sie datengebundene Steuerelemente wie z. B. das DropDownList -Steuerelement verwenden (im Gegensatz zu Steuerelementen wie GridView und DetailsView, die die Parameter automatisch auffüllen und die Delete -Methode für ein Datenquellensteuerelement aufrufen). In diesem Beispiel wird das OnClick Ereignis an den privaten OnDeleted Ereignishandler delegiert, der explizit die Delete -Methode des SqlDataSource Steuerelements 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 DeleteCommand -Eigenschaft eine parametrisierte SQL-Abfrage enthält, enthält die DeleteParameters Auflistung alle Parameter Objekte, die den Parameterplatzhaltern in der SQL-Zeichenfolge entsprechen.
Parameternamen können von der OldValuesParameterFormatString Eigenschaft beeinflusst werden, insbesondere, wenn der Name einen Primärschlüssel identifiziert, z. B. einen Schlüssel, der mithilfe der DataKeyNames
-Eigenschaft eines datengebundenen Steuerelements angegeben wird, oder in Lösch- und Aktualisierungsszenarien, in denen die ConflictDetection Eigenschaft auf den CompareAllValues Wert festgelegt ist und ein Satz von oldValues
an die entsprechende Datenmethode übergeben wird. In diesem Fall wird die Formatzeichenfolge auf jeden Parameternamen in der oldValues
Auflistung angewendet.
Abhängig vom ADO.NET Anbieters kann die Reihenfolge der Parameter in der DeleteParameters Auflistung wichtig sein. Die System.Data.OleDb Anbieter und System.Data.Odbc ordnen die Parameter in der Auflistung entsprechend der Reihenfolge zu, in der die Parameter in der parametrisierten SQL-Abfrage angezeigt werden. Der System.Data.SqlClient Anbieter, der der Standardanbieter ADO.NET für das SqlDataSource Steuerelement ist, ordnet die Parameter in der Auflistung zu, indem er den Namen des Parameters mit dem Platzhalter in der SQL-Abfrage abgleicht. Weitere Informationen zu parametrisierten SQL-Abfragen und -Befehlen finden Sie unter Verwenden von Parametern mit dem SqlDataSource-Steuerelement.