SqlDataSource.Delete 方法

定义

使用 DeleteCommand SQL 字符串和 DeleteParameters 集合中的所有参数执行删除操作。

public:
 int Delete();
public int Delete ();
member this.Delete : unit -> int
Public Function Delete () As Integer

返回

一个值,该值表示从基础数据库中删除的行数。

例外

SqlDataSource 无法与基础数据源建立连接。

示例

下面的代码示例演示如何设置文本以 DeleteCommand 从 Northwind 数据库删除订单。 最初,数据从 Orders 表检索并显示在 控件中 DropDownList 。 在使用数据绑定控件(如 DropDownList ()时,必须显式声明 DeleteParameters 属性并调用 Delete 方法,这与其他控件(如 GridViewDetailsView)不同,后者会自动填充参数,并在数据源控件) 调用 Delete 方法。 在此示例中,事件 OnClick 委托给专用 OnDelete 事件处理程序,后者显式调用 Delete 控件的 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 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>

注解

在执行删除操作之前, OnDeleting 将调用 方法来引发 Deleting 事件。 可以处理此事件来检查参数的值,并在删除操作之前执行任何预处理。

操作完成后, OnDeleted 将调用 方法来引发 Deleted 事件。 可以处理此事件以检查任何返回值和错误代码,并执行任何后期处理。

方法 Delete 用于以编程方式访问 Delete 方法。 如果控件 SqlDataSource 与数据绑定控件相关联,则数据绑定控件会自动调用 Delete 方法。

方法Delete委托给DeleteSqlDataSource 控件关联的 对象的 方法SqlDataSourceView。 若要执行操作,将使用SqlDataSourceView文本和任何关联DeleteParameters值生成DbCommand对象DeleteCommand,然后针对基础数据库执行 DbCommand

适用于

另请参阅