SqlDataSource.UpdateParameters Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene l'insieme di parametri che contiene i parametri utilizzati dalla proprietà UpdateCommand dal controllo SqlDataSourceView associato al controllo 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
Valore della proprietà
Oggetto ParameterCollection contenente i parametri utilizzati dalla proprietà UpdateCommand.
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato come usare un controllo per visualizzare i dati in un SqlDataSourceDropDownList controllo e aggiornare i dati quando viene fatto clic sul pulsante Invia . L'oggetto è impostato con un'istruzione UpdateCommand SQL con parametri e due ControlParameter parametri vengono aggiunti alla UpdateParameters raccolta. Quando viene fatto clic sul pulsante Invia , l'evento OnClick viene gestito per chiamare in modo esplicito il Update metodo.
Importante
Questo esempio include una casella di testo che accetta l'input utente, ovvero una potenziale minaccia di sicurezza e i valori vengono inseriti in parametri senza convalida, che è anche una potenziale minaccia di sicurezza. Usare l'evento Inserting per convalidare i valori dei parametri prima di eseguire la query. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.
<%@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>
Commenti
Se la proprietà contiene una query SQL con parametri, l'insieme UpdateCommandUpdateParameters contiene eventuali Parameter oggetti che corrispondono ai segnaposto dei parametri nella stringa SQL.
I nomi dei parametri possono essere interessati dalla OldValuesParameterFormatString proprietà, in particolare se il nome identifica una chiave primaria, ad esempio una chiave specificata usando la DataKeyNames
proprietà del controllo associato ai CompareAllValues dati o negli scenari di eliminazione e aggiornamento in cui la ConflictDetection proprietà è impostata sul valore e un set di oldValues
vengono passati al metodo dati corrispondente. In questo caso, la stringa di formato viene applicata a ogni nome di parametro nella oldValues
raccolta.
L'ordine dei parametri nella UpdateParameters raccolta potrebbe essere importante, a seconda del provider di ADO.NET. I System.Data.OleDb provider e System.Data.Odbc associano i parametri nella raccolta in base all'ordine in cui i parametri vengono visualizzati nella query SQL con parametri. Il System.Data.SqlClient provider, che è il provider di ADO.NET predefinito per il SqlDataSource controllo, associa i parametri nella raccolta associando il nome del parametro a un alias segnaposto nella query SQL. Per altre informazioni sulle query e i comandi SQL con parametri, vedere Uso di parametri con il controllo SqlDataSource.
La UpdateParameters proprietà recupera la UpdateParameters proprietà contenuta dall'oggetto SqlDataSourceView associato al SqlDataSource controllo.
Importante
I valori vengono inseriti nei parametri senza convalida, ovvero una potenziale minaccia di sicurezza. Usare l'evento Filtering per convalidare i valori dei parametri prima di eseguire la query. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.