SqlDataSource.DeleteParameters Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan koleksi parameter yang berisi parameter yang digunakan oleh DeleteCommand properti dari SqlDataSourceView objek yang terkait dengan SqlDataSource kontrol.
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
Nilai Properti
ParameterCollection yang berisi parameter yang digunakan oleh DeleteCommand properti .
- Atribut
Contoh
Contoh kode berikut menunjukkan cara mengatur DeleteCommand teks untuk menghapus pesanan dari database Northwind. Awalnya, data diambil dari tabel Pesanan dan ditampilkan dalam DropDownList kontrol. Anda harus secara eksplisit mendeklarasikan DeleteParameters properti dan memanggil Delete metode saat menggunakan kontrol terikat data, seperti DropDownList (tidak seperti kontrol lain, seperti GridView dan DetailsView, yang secara otomatis mengisi parameter dan memanggil Delete kontrol sumber data). Dalam contoh ini, OnClick peristiwa didelegasikan ke penanganan aktivitas privat OnDelete
, yang secara eksplisit memanggil Delete metode SqlDataSource kontrol.
<%@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>
Keterangan
DeleteCommand Jika properti berisi kueri SQL berparameter, DeleteParameters koleksi berisi objek apa pun Parameter yang sesuai dengan tempat penampung parameter dalam string SQL.
Catatan
Pastikan bahwa tidak ada BoundField kontrol dalam kontrol terikat data yang Anda ikat ke SqlDataSource kontrol memiliki nama yang cocok dengan nama parameter apa pun dalam DeleteParameters koleksi. Parameter yang memiliki nama yang sama dengan bidang terikat dikecualikan dari perintah SQL, dan kesalahan "parameter tidak disediakan" mungkin dihasilkan.
ConflictDetection Jika properti diatur ke CompareAllValues nilai , parameter dibuat untuk nilai data lama dan baru. Parameter untuk nilai lama diberi nama sesuai dengan OldValuesParameterFormatString properti .
Bergantung pada penyedia ADO.NET, urutan parameter dalam DeleteParameters koleksi mungkin penting. Penyedia System.Data.OleDb dan System.Data.Odbc mengaitkan parameter dalam koleksi sesuai dengan urutan di mana parameter muncul dalam kueri SQL berparameter. Penyedia System.Data.SqlClient , yang merupakan penyedia ADO.NET default untuk SqlDataSource kontrol, mengaitkan parameter dalam koleksi dengan mencocokkan nama parameter dengan tempat penampung dalam kueri SQL. Untuk informasi selengkapnya tentang kueri dan perintah SQL berparameter, lihat Menggunakan Parameter dengan Kontrol SqlDataSource.
Properti DeleteParameters mengambil DeleteParameters properti yang dimuat oleh SqlDataSourceView objek yang terkait dengan SqlDataSource kontrol.
Penting
Nilai dimasukkan ke dalam parameter tanpa validasi, yang merupakan potensi ancaman keamanan. Deleting Gunakan peristiwa untuk memvalidasi nilai parameter sebelum menjalankan kueri. Untuk informasi selengkapnya, lihat Gambaran Umum Eksploitasi Skrip.