Partage via


SqlDataSource.UpdateParameters Propriété

Définition

Obtient la collection de paramètres qui contient les paramètres utilisés par la UpdateCommand propriété à partir du SqlDataSourceView contrôle associé au SqlDataSource contrôle.

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

Valeur de propriété

Qui ParameterCollection contient les paramètres utilisés par la UpdateCommand propriété.

Attributs

Exemples

L’exemple de code suivant montre comment utiliser un SqlDataSource contrôle pour afficher des données dans un DropDownList contrôle et mettre à jour les données lorsque le bouton Envoyer est cliqué. Il UpdateCommand est défini avec une instruction SQL paramétrable et deux ControlParameter paramètres sont ajoutés à la UpdateParameters collection. Lorsque le bouton Envoyer est cliqué, l’événement OnClick est géré pour appeler la Update méthode explicitement.

Important

Cet exemple inclut une zone de texte qui accepte l’entrée utilisateur, qui est une menace de sécurité potentielle, et les valeurs sont insérées dans des paramètres sans validation, ce qui est également une menace de sécurité potentielle. Utilisez l’événement Inserting pour valider les valeurs des paramètres avant d’exécuter la requête. Pour plus d’informations, consultez Vue d’ensemble des exploits de 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>

Remarques

Si la UpdateCommand propriété contient une requête SQL paramétrable, la UpdateParameters collection contient tous Parameter les objets qui correspondent aux espaces réservés de paramètres dans la chaîne SQL.

Les noms de paramètres peuvent être affectés par la OldValuesParameterFormatString propriété, en particulier si le nom identifie une clé primaire, telle qu’une clé spécifiée à l’aide de la DataKeyNames propriété du contrôle lié aux données, ou dans les scénarios de suppression et de mise à jour où la ConflictDetection propriété est définie sur la CompareAllValues valeur et un ensemble de données sont passés à la méthode de oldValues données correspondante. Dans ce cas, la chaîne de format est appliquée à chaque nom de paramètre de la oldValues collection.

L’ordre des paramètres de la UpdateParameters collection peut être important, en fonction du fournisseur de ADO.NET. Les System.Data.OleDb fournisseurs et System.Data.Odbc les fournisseurs associent les paramètres de la collection selon l’ordre dans lequel les paramètres apparaissent dans la requête SQL paramétrable. Le System.Data.SqlClient fournisseur, qui est le fournisseur d’ADO.NET par défaut pour le SqlDataSource contrôle, associe les paramètres de la collection en correspondant au nom du paramètre avec un alias d’espace réservé dans la requête SQL. Pour plus d’informations sur les requêtes et commandes SQL paramétrables, consultez Utilisation de paramètres avec le contrôle SqlDataSource.

La UpdateParameters propriété récupère la UpdateParameters propriété contenue par l’objet SqlDataSourceView associé au SqlDataSource contrôle.

Important

Les valeurs sont insérées dans des paramètres sans validation, ce qui est une menace de sécurité potentielle. Utilisez l’événement Filtering pour valider les valeurs des paramètres avant d’exécuter la requête. Pour plus d’informations, consultez Vue d’ensemble des exploits de script.

S’applique à

Voir aussi