Aracılığıyla paylaş


SqlDataSource.DeleteParameters Özellik

Tanım

Denetimiyle SqlDataSource ilişkili nesneden SqlDataSourceView özelliği tarafından DeleteCommand kullanılan parametreleri içeren parameters 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 bir veri kaynağı denetiminde çağrı yapan diğer denetimlerden farklı olarakDetailsViewGridView) özelliğini açıkça bildirmeniz DeleteParameters ve yöntemini çağırmanız DeleteDelete 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.

Not

Denetime bağladığınız veriye bağlı denetimde 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ı, parametreleştirilmiş SQL sorgusunda parametrelerin görünme sırasına göre koleksiyondaki parametreleri ilişkilendirir. Denetimin System.Data.SqlClient varsayılan ADO.NET sağlayıcısı olan sağlayıcı SqlDataSource , 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şkilendirilmiş nesnenin SqlDataSourceView içerdiği özelliği alırDeleteParameters.

Önemli

Değerler doğrulama olmadan 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.