SqlDataSource.DeleteParameters Özellik

Tanım

Denetimiyle SqlDataSource ilişkili nesneden SqlDataSourceView özelliği tarafından DeleteCommand kullanılan parametreleri içeren parametre koleksiyonunu alır.

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

Özellik Değeri

ParameterCollection özelliği tarafından DeleteCommand kullanılan parametreleri içeren.

Öznitelikler

Örnekler

Aşağıdaki kod örneğinde, Northwind veritabanından DeleteCommand bir siparişi silmek için metnin nasıl ayarlanacağı gösterilmektedir. Başlangıçta veriler Orders tablosundan alınır ve bir DropDownList denetimde görüntülenir. gibi veriye bağlı denetimleri kullanırken (ve gibi DropDownList parametreleri otomatik olarak dolduran ve Delete bir veri kaynağı denetiminde çağrı yapan diğer denetimlerden farklı olarakDetailsViewGridView) özellik bildirmeniz DeleteParameters ve yöntemini çağırmanız Delete gerekir. Bu örnekte olay, OnClick denetimin yöntemini açıkça çağıran Delete özel OnDelete olay işleyicisine SqlDataSource devredilir.

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

Açıklamalar

DeleteCommand özelliği parametreli bir SQL sorgusu içeriyorsa, DeleteParameters koleksiyon SQL dizesindeki parametre yer tutucularına karşılık gelen nesneleri Parameter içerir.

Uyarı

Denetime bağladığınız veri bağlama denetimindeki hiçbir BoundField denetimin SqlDataSource koleksiyondaki DeleteParameters herhangi bir parametre adıyla eşleşen adlara sahip olmadığından emin olun. İlişkili alanlarla aynı ada sahip parametreler SQL komutundan dışlanır ve "parametre sağlanmadı" hatası oluşabilir.

ConflictDetection özelliği değere CompareAllValues ayarlanırsa, verilerin hem eski hem de yeni değerleri için parametreler oluşturulur. Eski değerlerin parametreleri özelliğine OldValuesParameterFormatString göre adlandırılır.

ADO.NET sağlayıcısına bağlı olarak, koleksiyondaki parametrelerin DeleteParameters sırası önemli olabilir. System.Data.OleDb ve System.Data.Odbc sağlayıcıları, parametreleri parametreleştirilmiş SQL sorgusunda görünme sırasına göre koleksiyonda ilişkilendirir. Denetim System.Data.SqlClient için SqlDataSource varsayılan ADO.NET sağlayıcısı olan sağlayıcı, parametrenin adını SQL sorgusundaki yer tutucuyla eşleştirerek koleksiyondaki parametreleri ilişkilendirir. Parametreli SQL sorguları ve komutları hakkında daha fazla bilgi için bkz. SqlDataSource Denetimi ile Parametreleri Kullanma.

özelliği, DeleteParameters denetimle SqlDataSource ilişkili nesnenin SqlDataSourceView içerdiği özelliği alırDeleteParameters.

Önemli

Değerler doğrulama yapılmadan parametrelere eklenir ve bu da olası bir güvenlik tehdididir. Sorguyu Deleting yürütmeden önce parametre değerlerini doğrulamak için olayını kullanın. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.

Şunlara uygulanır

Ayrıca bkz.