SqlDataSourceView.DeleteParameters Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.