SqlDataSource.DeleteParameters 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从与 DeleteCommand 控件相关联的 SqlDataSourceView 对象获取包含 SqlDataSource 属性所使用的参数的参数集合。
public:
property System::Web::UI::WebControls::ParameterCollection ^ DeleteParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection DeleteParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DeleteParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property DeleteParameters As ParameterCollection
属性值
ParameterCollection,它包含 DeleteCommand 属性所使用的参数。
- 属性
示例
下面的代码示例演示如何设置文本以 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>
注解
DeleteCommand如果 属性包含参数化 SQL 查询,则DeleteParameters集合包含与 SQL 字符串中的参数占位符对应的任何Parameter对象。
注意
请确保绑定到SqlDataSource控件的数据绑定控件中没有BoundField控件的名称与集合中的任何DeleteParameters参数名称匹配。 与绑定字段同名的参数将从 SQL 命令中排除,并可能导致“未提供参数”错误。
如果 属性 ConflictDetection 设置为 CompareAllValues 值,则会为数据的旧值和新值创建参数。 旧值的参数根据 OldValuesParameterFormatString 属性命名。
根据 ADO.NET 提供程序,集合中 DeleteParameters 参数的顺序可能很重要。 System.Data.OleDb和 System.Data.Odbc 提供程序根据参数在参数化 SQL 查询中的显示顺序关联集合中的参数。 提供程序 System.Data.SqlClient 是控件的默认 ADO.NET 提供程序 SqlDataSource ,它通过将参数的名称与 SQL 查询中的占位符匹配来关联集合中的参数。 有关参数化 SQL 查询和命令的详细信息,请参阅 对 SqlDataSource 控件使用参数。
属性 DeleteParameters 检索 DeleteParameters 由 SqlDataSourceView 与 控件关联的 对象包含的属性 SqlDataSource 。