SqlDataSource.Delete Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет операцию удаления, используя SQL-строку DeleteCommand и параметры из коллекции DeleteParameters.
public:
int Delete();
public int Delete ();
member this.Delete : unit -> int
Public Function Delete () As Integer
Возвращаемое значение
Значение, представляющее число строк, удаленных из основной базы данных.
Исключения
Объекту SqlDataSource не удается установить подключение к базовому источнику данных.
Примеры
В следующем примере кода показано, как задать DeleteCommand текст для удаления заказа из базы данных Northwind. Изначально данные извлекаются из таблицы Orders и отображаются в элементе DropDownList управления . Необходимо явно объявить DeleteParameters свойство и вызвать Delete метод при использовании элементов управления с привязкой к данным, таких как DropDownList (в отличие от других элементов управления, таких как GridView и DetailsView, которые автоматически заполняют параметры и вызывают 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 делегирует Delete метод объекта , связанного SqlDataSourceView с элементом SqlDataSource управления . Для выполнения операции создается DbCommand объект с SqlDataSourceView использованием DeleteCommand текста и всех связанных DeleteParameters значений, а затем выполняется DbCommand для базовой базы данных.