Partager via


SqlDataSourceView.DeleteParameters Propriété

Définition

Obtient la collection de paramètres contenant les paramètres qui sont utilisés par la propriété 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

Valeur de propriété

ParameterCollection qui contient les paramètres utilisés par la propriété DeleteCommand.

Attributs

Exemples

L’exemple de code suivant montre comment définir le DeleteCommand texte pour supprimer une commande de la base de données Northwind. Initialement, les données sont récupérées à partir de la table Orders et affichées dans un DropDownList contrôle. Vous devez déclarer explicitement la DeleteParameters propriété et appeler la méthode lors de l’utilisation Delete de contrôles liés aux données, tels que ( DropDownList contrairement aux contrôles, tels que GridView et DetailsView, qui remplissent automatiquement les paramètres et appellent la Delete méthode sur un contrôle de source de données). Dans cet exemple, l’événement OnClick est délégué au gestionnaire d’événements privé OnDeleted , qui appelle explicitement la Delete méthode du SqlDataSource contrôle.

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

Remarques

Si la DeleteCommand propriété contient une requête SQL paramétrable, la DeleteParameters collection contient tous Parameter les objets qui correspondent aux espaces réservés de paramètre dans la chaîne SQL.

Les noms de paramètres peuvent être affectés par la OldValuesParameterFormatString propriété ; plus précisément, si le nom identifie une clé primaire, telle qu’une clé spécifiée à l’aide de la DataKeyNames propriété d’un contrôle lié aux données, ou dans les scénarios de suppression et de mise à jour dans lesquels la ConflictDetection propriété est définie sur la CompareAllValues valeur et un jeu de est passé à la méthode de oldValues données correspondante. Dans ce cas, la chaîne de format est appliquée à chaque nom de paramètre dans la oldValues collection.

Selon le fournisseur ADO.NET, l’ordre des paramètres dans la DeleteParameters collection peut être important. Les System.Data.OleDb fournisseurs et System.Data.Odbc associent les paramètres dans la collection en fonction de l’ordre dans lequel les paramètres apparaissent dans la requête SQL paramétrable. Le System.Data.SqlClient fournisseur, qui est le fournisseur de ADO.NET par défaut pour le SqlDataSource contrôle, associe les paramètres de la collection en faisant correspondre le nom du paramètre à l’espace réservé dans la requête SQL. Pour plus d’informations sur les requêtes et commandes SQL paramétrables, consultez Utilisation de paramètres avec le contrôle SqlDataSource.

S’applique à

Voir aussi