Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout

SqlDataSource.Delete, méthode

Remarque : cette méthode est nouvelle dans le .NET Framework version 2.0.

Exécute une opération de suppression à l'aide de la chaîne SQL DeleteCommand et de tous les paramètres de la collection DeleteParameters.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public int Delete ()
public int Delete ()
public function Delete () : int

Valeur de retour

Une valeur qui représente le nombre de lignes supprimées de la base de données sous-jacente.

Type d'exceptionCondition

InvalidOperationException

SqlDataSource ne peut pas établir de connexion avec la source de données sous-jacente.

Avant que l'opération de suppression ne soit effectuée, la méthode OnDeleting est appelée pour déclencher l'événement Deleting. Vous pouvez gérer cet événement pour examiner les valeurs des paramètres et effectuer tout prétraitement avant une opération de suppression.

Lorsque l'opération est terminée, la méthode OnDeleted est appelée pour déclencher l'événement Deleted. Vous pouvez gérer cet événement pour examiner les valeurs de retour et les codes d'erreur, ainsi que pour effectuer tout post-traitement.

La méthode Delete est fournie pour l'accès par programme à la méthode Delete. Si le contrôle SqlDataSource est associé à un contrôle lié aux données, le contrôle lié aux données appelle automatiquement la méthode Delete.

La méthode Deletedélègue à la méthode Delete de l'objet SqlDataSourceView associé au contrôle SqlDataSource. Pour exécuter l'opération, SqlDataSourceView génère un objet DbCommand à l'aide du texte DeleteCommand et de toute valeur DeleteParameters associée, puis exécute DbCommand sur la base de données sous-jacente.

L'exemple de code suivant illustre comment définir le texte DeleteCommand afin qu'il supprime un ordre de la base de données Northwind. Initialement, les données sont récupérées de la table Orders et sont affichées dans un contrôle DropDownList. Vous devez déclarer la propriété DeleteParameters explicitement et appeler la méthode Delete lors de l'utilisation de contrôles liés aux données, tels que DropDownList (contrairement aux autres contrôles, tels que GridView et DetailsView qui remplissent automatiquement les paramètres et appellent la méthode Delete 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 OnDelete privé qui appelle explicitement la méthode Delete du contrôle SqlDataSource.

<%@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>
    <BODY>
        <FORM 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="VJ#" %>
<!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, System.EventArgs e)
    {
        SqlDataSource1.Delete();
    } //OnDelete
</SCRIPT>

<HTML>
    <BODY>
        <FORM runat="server">

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
                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>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft