SqlDataSource.UpdateParameters Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá kolekci parametrů, která obsahuje parametry, které jsou používány UpdateCommand vlastnost z SqlDataSourceView ovládacího prvku, který je přidružen k ovládacímu SqlDataSource prvku.
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
Hodnota vlastnosti
A ParameterCollection , který obsahuje parametry používané UpdateCommand vlastností.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak pomocí SqlDataSource ovládacího prvku zobrazit data v ovládacím DropDownList prvku a aktualizovat data po kliknutí na tlačítko Odeslat . Parametr UpdateCommand se nastaví pomocí parametrizovaného příkazu SQL a do UpdateParameters kolekce se přidají dva ControlParameter parametry. Po kliknutí na tlačítko Odeslat se událost zpracuje tak, OnClick aby explicitně volala metodu Update .
Důležité
Tento příklad zahrnuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba, a hodnoty jsou vloženy do parametrů bez ověření, což je také potenciální bezpečnostní hrozba. Událost použijte Inserting k ověření hodnot parametrů před spuštěním dotazu. Další informace najdete v tématu Přehled zneužití skriptů.
<%@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>
Poznámky
UpdateCommand Pokud vlastnost obsahuje parametrizovaný dotaz SQL, UpdateParameters kolekce obsahuje všechny Parameter objekty, které odpovídají zástupným symbolům parametrů v řetězci SQL.
Názvy parametrů můžou být ovlivněny OldValuesParameterFormatString vlastností, konkrétně pokud název identifikuje primární klíč, například klíč zadaný pomocí DataKeyNames
vlastnosti ovládacího prvku vázaného na data, nebo ve scénářích odstranění a aktualizace, kdy ConflictDetection je vlastnost nastavena na CompareAllValues hodnotu a sada je oldValues
předána odpovídající datové metodě. V tomto případě se formátovací řetězec použije na každý název parametru v kolekci oldValues
.
Pořadí parametrů v kolekci UpdateParameters může být důležité v závislosti na poskytovateli ADO.NET. Zprostředkovatelé System.Data.OleDb a System.Data.Odbc přidružují parametry v kolekci podle pořadí, ve které se parametry zobrazují v parametrizovaném dotazu SQL. Zprostředkovatel System.Data.SqlClient , který je výchozím zprostředkovatelem SqlDataSource ADO.NET ovládacího prvku, přidruží parametry v kolekci tak, že v dotazu SQL přiřadí název parametru se zástupným aliasem. Další informace o parametrizovaných dotazech a příkazech SQL najdete v tématu Použití parametrů s ovládacím prvku SqlDataSource.
Vlastnost UpdateParameters načte UpdateParameters vlastnost, která je obsažena objektem SqlDataSourceView , který je přidružen k ovládacímu SqlDataSource prvku.
Důležité
Hodnoty se do parametrů vkládají bez ověření, což představuje potenciální bezpečnostní hrozbu. Událost použijte Filtering k ověření hodnot parametrů před spuštěním dotazu. Další informace najdete v tématu Přehled zneužití skriptů.