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 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ış.