SqlDataSource.UpdateParameters Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera kolekcję parametrów zawierającą parametry używane przez UpdateCommand właściwość z SqlDataSourceView kontrolki skojarzonej z kontrolką SqlDataSource .
public:
property System::Web::UI::WebControls::ParameterCollection ^ UpdateParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection UpdateParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.UpdateParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property UpdateParameters As ParameterCollection
Wartość właściwości
Element ParameterCollection zawierający parametry używane przez UpdateCommand właściwość .
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak używać SqlDataSource kontrolki do wyświetlania danych w kontrolce DropDownList i aktualizowania danych po kliknięciu przycisku Prześlij . Parametr UpdateCommand jest ustawiany za pomocą sparametryzowanej instrukcji SQL, a do kolekcji UpdateParameters są dodawane dwa ControlParameter parametry. Po kliknięciu przycisku Prześlij zdarzenie jest obsługiwane w OnClick celu jawnego Update wywołania metody.
Ważne
Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa, a wartości są wstawiane do parametrów bez walidacji, co jest również potencjalnym zagrożeniem bezpieczeństwa. Użyj zdarzenia, Inserting aby zweryfikować wartości parametrów przed wykonaniem zapytania. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).
<%@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 On_Click(Object source, EventArgs e) {
try {
SqlDataSource1.Update();
}
catch (Exception except) {
// Handle the Exception.
}
Label2.Text="The record was updated successfully!";
}
</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 EmployeeID, LastName, Address FROM Employees"
UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID">
<UpdateParameters>
<asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
<asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</UpdateParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="LastName"
DataValueField="EmployeeID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<br />
<asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
AssociatedControlID="TextBox1" />
<asp:TextBox id="TextBox1" runat="server" />
<asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />
<br /><asp:Label id="Label2" runat="server" Text="" />
</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_Click(ByVal source As Object, ByVal e As EventArgs)
Try
SqlDataSource1.Update()
Catch except As Exception
' Handle the Exception.
End Try
Label2.Text="The record was updated successfully!"
End Sub 'On_Click
</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 EmployeeID, LastName, Address FROM Employees"
UpdateCommand="UPDATE Employees SET Address=@Address WHERE EmployeeID=@EmployeeID">
<UpdateParameters>
<asp:ControlParameter Name="Address" ControlId="TextBox1" PropertyName="Text"/>
<asp:ControlParameter Name="EmployeeID" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</UpdateParameters>
</asp:SqlDataSource>
<asp:DropDownList
id="DropDownList1"
runat="server"
DataTextField="LastName"
DataValueField="EmployeeID"
DataSourceID="SqlDataSource1">
</asp:DropDownList>
<br />
<asp:Label id="Label1" runat="server" Text="Enter a new address for the selected user."
AssociatedControlID="TextBox1" />
<asp:TextBox id="TextBox1" runat="server" />
<asp:Button id="Submit" runat="server" Text="Submit" OnClick="On_Click" />
<br /><asp:Label id="Label2" runat="server" Text="" />
</form>
</body>
</html>
Uwagi
UpdateCommand Jeśli właściwość zawiera sparametryzowane zapytanie SQL, UpdateParameters kolekcja zawiera wszystkie Parameter obiekty, które odpowiadają symbolom zastępczym parametru w ciągu SQL.
Na nazwy parametrów może mieć wpływ OldValuesParameterFormatString właściwość, w szczególności jeśli nazwa identyfikuje klucz podstawowy, taki jak klucz określony przy użyciu właściwości kontrolki powiązanej z DataKeyNames
danymi, lub w scenariuszach usuwania i aktualizowania, w których ConflictDetection właściwość jest ustawiona na CompareAllValues wartość i zestaw oldValues
są przekazywane do odpowiedniej metody danych. W takim przypadku ciąg formatu jest stosowany do każdej nazwy parametru w kolekcji oldValues
.
Kolejność parametrów w UpdateParameters kolekcji może być ważna w zależności od dostawcy ADO.NET. Dostawcy System.Data.OleDb i System.Data.Odbc kojarzą parametry w kolekcji zgodnie z kolejnością wyświetlania parametrów w sparametryzowanym zapytaniu SQL. Dostawca System.Data.SqlClient , który jest domyślnym dostawcą ADO.NET dla SqlDataSource kontrolki, kojarzy parametry w kolekcji, pasując do nazwy parametru z aliasem zastępczym w zapytaniu SQL. Aby uzyskać więcej informacji na temat sparametryzowanych zapytań SQL i poleceń, zobacz Using Parameters with the SqlDataSource Control (Używanie parametrów z kontrolką SqlDataSource).
Właściwość UpdateParameters pobiera UpdateParameters właściwość zawartą przez SqlDataSourceView obiekt skojarzony z kontrolką SqlDataSource .
Ważne
Wartości są wstawiane do parametrów bez walidacji, co jest potencjalnym zagrożeniem bezpieczeństwa. Użyj zdarzenia, Filtering aby zweryfikować wartości parametrów przed wykonaniem zapytania. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).