Partilhar via


SqlDataSourceView.DeleteParameters Propriedade

Definição

Obtém a coleção de parâmetros que contém os parâmetros usados pela propriedade DeleteCommand.

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

Valor da propriedade

Um ParameterCollection que contém os parâmetros usados pela propriedade DeleteCommand.

Atributos

Exemplos

O exemplo de código a seguir demonstra como definir o DeleteCommand texto para excluir um pedido do banco de dados Northwind. Inicialmente, os dados são recuperados da tabela Pedidos e exibidos em um DropDownList controle . Você deve declarar explicitamente a DeleteParameters propriedade e chamar o Delete método ao usar controles associados a dados, como o (ao contrário dos DropDownList controles, como e GridViewDetailsView, que preenchem automaticamente os parâmetros e chamam o Delete método em um controle de fonte de dados). Neste exemplo, o OnClick evento é delegado ao manipulador de eventos privado OnDeleted , que chama explicitamente o Delete método do SqlDataSource controle.

<%@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>

Comentários

Se a DeleteCommand propriedade contiver uma consulta SQL parametrizada, a DeleteParameters coleção conterá quaisquer Parameter objetos que correspondam aos espaços reservados de parâmetro na cadeia de caracteres SQL.

Os nomes de parâmetro podem ser afetados pela OldValuesParameterFormatString propriedade; especificamente, se o nome identificar uma chave primária, como uma chave especificada usando a DataKeyNames propriedade de um controle associado a dados ou em cenários de exclusão e atualização nos quais a ConflictDetection propriedade é definida como o CompareAllValues valor e um conjunto de é passado para o método de oldValues dados correspondente. Nesse caso, a cadeia de caracteres de formato é aplicada a cada nome de parâmetro na oldValues coleção.

Dependendo do provedor ADO.NET, a ordem dos parâmetros na DeleteParameters coleção pode ser importante. Os System.Data.OleDb provedores e System.Data.Odbc associam os parâmetros na coleção de acordo com a ordem em que os parâmetros aparecem na consulta SQL parametrizada. O System.Data.SqlClient provedor, que é o provedor de ADO.NET padrão para o SqlDataSource controle, associa os parâmetros na coleção combinando o nome do parâmetro com o espaço reservado na consulta SQL. Para obter mais informações sobre consultas e comandos SQL parametrizados, consulte Usando parâmetros com o controle SqlDataSource.

Aplica-se a

Confira também