SqlDataSource.DeleteParameters Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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ış.