SqlDataSource.Delete Метод

Определение

Выполняет операцию удаления, используя SQL-строку DeleteCommand и параметры из коллекции DeleteParameters.Performs a delete operation using the DeleteCommand SQL string and any parameters that are in the DeleteParameters collection.

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

Возвраты

Значение, представляющее число строк, удаленных из основной базы данных.A value that represents the number of rows deleted from the underlying database.

Исключения

Объекту SqlDataSource не удается установить подключение к базовому источнику данных.The SqlDataSource cannot establish a connection with the underlying data source.

Примеры

В следующем примере кода показано, как задать DeleteCommand текст для удаления заказа из базы данных Northwind.The following code example demonstrates how to set the DeleteCommand text to delete an order from the Northwind database. Изначально данные извлекаются из таблицы Orders и отображаются в DropDownList элементе управления.Initially, data is retrieved from the Orders table and displayed in a DropDownList control. DeleteParameters Необходимо явно объявить свойство и DropDownList Delete вызвать метод при использовании элементов управления с привязкой к данным, например (в отличие от других элементов управления, таких GridView как DetailsViewи, которые автоматически заполняют параметры и вызывают Delete метод для элемента управления источника данных.You must explicitly declare the DeleteParameters property and call the Delete method when using data-bound controls, such as the DropDownList (unlike other controls, such as GridView and DetailsView, which automatically populate the parameters and call the Delete method on a data source control). В этом примере OnClick событие делегируется закрытому OnDelete обработчику событий Delete , который явно SqlDataSource вызывает метод элемента управления.In this example, the OnClick event is delegated to the private OnDelete event handler, which explicitly calls the Delete method of the SqlDataSource control.

<%@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 вызова события.Before the delete operation is performed, the OnDeleting method is called to raise the Deleting event. Это событие можно обработать для проверки значений параметров и выполнения предварительной обработки перед операцией Delete.You can handle this event to examine the values of the parameters and to perform any preprocessing before a delete operation.

После завершения OnDeleted операции вызывается метод для Deleted вызова события.After the operation completes, the OnDeleted method is called to raise the Deleted event. Это событие можно обработать для проверки любых возвращаемых значений и кодов ошибок, а также для выполнения любой последующей обработки.You can handle this event to examine any return values and error codes and to perform any post-processing.

Метод предоставляется для программного доступа Delete к методу. DeleteThe Delete method is provided for programmatic access to the Delete method. Если элемент управления связан с элементом управления с привязкой к данным, элемент управления с привязкой к данным автоматически вызывает метод Delete. SqlDataSourceIf the SqlDataSource control is associated with a data-bound control, the data-bound control automatically calls the Delete method.

Метод делегирует Delete методу SqlDataSourceView объекта, связанного с SqlDataSource элементом управления. DeleteThe Delete method delegates to the Delete method of the SqlDataSourceView object that is associated with the SqlDataSource control. Чтобы выполнить эту SqlDataSourceView операцию, DbCommand объект выполняет сборку объекта, используя DeleteCommand текст и все DbCommand связанные DeleteParameters с ним значения, а затем выполняет применительно к базовой базе данных.To perform the operation, the SqlDataSourceView builds a DbCommand object using the DeleteCommand text and any associated DeleteParameters values, and then executes the DbCommand against the underlying database.

Применяется к

Дополнительно