SqlDataSource.Delete 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用 DeleteCommand SQL 字串和 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與 SqlDataSource 控件相關聯之 物件的方法SqlDataSourceView。 若要執行作業,會SqlDataSourceView使用文字和任何相關聯的DeleteParameters值來建置 DbCommand 物件,然後針對基礎資料庫執行 DbCommandDeleteCommand 。