SqlDataSourceView.DeleteParameters Свойство

Определение

Возвращает коллекцию параметров, содержащую параметры, используемые свойством DeleteCommand.Gets the parameters collection containing the parameters that are used by the DeleteCommand property.

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; }
member this.DeleteParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property DeleteParameters As ParameterCollection

Значение свойства

Коллекция ParameterCollection, содержащая параметры, используемые свойством DeleteCommand.A ParameterCollection that contains the parameters used by the DeleteCommand property.

Атрибуты

Примеры

В следующем примере кода показано, как задать 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 controls, such as the GridView and DetailsView, which automatically populate the parameters and call the Delete method on a data source control). В этом примере OnClick событие делегируется закрытому OnDeleted обработчику событий Delete , который явно SqlDataSource вызывает метод элемента управления.In this example, the OnClick event is delegated to the private OnDeleted 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>

Комментарии

Если свойство содержит параметризованный SQL-запрос DeleteParameters , коллекция содержит все Parameter объекты, соответствующие заполнителям параметров в строке SQL. DeleteCommandIf the DeleteCommand property contains a parameterized SQL query, the DeleteParameters collection contains any Parameter objects that correspond to the parameter placeholders in the SQL string.

На OldValuesParameterFormatString имена параметров может влиять свойство; в частности, если имя определяет первичный ключ, например ключ, заданный DataKeyNames с помощью свойства элемента управления с привязкой к данным, или в сценариях удаления и обновления, в которых ConflictDetectionсвойству присваивается oldValues CompareAllValues значение, а набор передается соответствующему методу данных.Parameter names might be affected by the OldValuesParameterFormatString property; specifically, if the name identifies a primary key, such as a key that is specified using the DataKeyNames property of a data-bound control, or in delete and update scenarios in which the ConflictDetection property is set to the CompareAllValues value and a set of oldValues is passed to the corresponding data method. В этом случае строка формата применяется к каждому имени параметра в oldValues коллекции.In this case, the format string is applied to each parameter name in the oldValues collection.

В зависимости от поставщика ADO.NET порядок параметров в DeleteParameters коллекции может быть важен.Depending on the ADO.NET provider, the order of the parameters in the DeleteParameters collection might be important. Поставщики System.Data.OleDb иSystem.Data.Odbc связывают параметры в коллекции согласно порядку, в котором параметры отображаются в параметризованном запросе SQL.The System.Data.OleDb and System.Data.Odbc providers associate the parameters in the collection according to the order that the parameters appear in the parameterized SQL query. Поставщик, являющийся поставщиком ADO.NET по умолчанию SqlDataSource для элемента управления, связывает параметры в коллекции, сопоставляя имя параметра с заполнителем в SQL-запросе. System.Data.SqlClientThe System.Data.SqlClient provider, which is the default ADO.NET provider for the SqlDataSource control, associates the parameters in the collection by matching the name of the parameter with the placeholder in the SQL query. Дополнительные сведения о параметризованных запросах SQL и командах см. в разделе Использование параметров с элементом управления SqlDataSource.For more information on parameterized SQL queries and commands, see Using Parameters with the SqlDataSource Control.

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

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