Partager via


SqlDataSource.InsertParameters Propriété

Définition

Obtient la collection de paramètres qui contient les paramètres utilisés par la propriété InsertCommand de l'objet SqlDataSourceView qui est associé au contrôle SqlDataSource.

public:
 property System::Web::UI::WebControls::ParameterCollection ^ InsertParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection InsertParameters { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.InsertParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property InsertParameters As ParameterCollection

Valeur de propriété

ParameterCollection qui contient les paramètres utilisés par la propriété InsertCommand.

Attributs

Exemples

L’exemple de code suivant montre comment insérer des données dans une base de données à l’aide du SqlDataSource contrôle et d’une page Web Forms simple. Les données actuelles de la table Données s’affichent dans le DropDownList contrôle. Vous pouvez ajouter de nouveaux enregistrements en entrant des valeurs dans les TextBox contrôles, puis en cliquant sur le bouton Insérer . Lorsque vous cliquez sur le bouton Insérer , les valeurs spécifiées sont insérées dans la base de données et le DropDownList contrôle est actualisé.

Important

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

Notes

Cet exemple montre comment utiliser la syntaxe déclarative pour l’accès aux données. Pour plus d’informations sur l’accès aux données à l’aide du code au lieu du balisage, consultez Accès aux données dans Visual Studio.

<%@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 InsertShipper (object source, EventArgs e) {
  SqlDataSource1.Insert();
}
</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:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox" />
            <asp:formparameter name="Phone"  formfield="PhoneBox" />
          </insertparameters>
      </asp:sqldatasource>

      <br /><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <br /><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <br /><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </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">
Private Sub InsertShipper (ByVal Source As Object, ByVal e As EventArgs)
  SqlDataSource1.Insert()
End Sub ' InsertShipper
</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:dropdownlist
        id="DropDownList1"
        runat="server"
        datasourceid="SqlDataSource1"
        datatextfield="CompanyName"
        datavaluefield="ShipperID" />

<!-- Security Note: The SqlDataSource uses a FormParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the FormParameter, handle the Inserting event. -->

      <asp:sqldatasource
        id="SqlDataSource1"
        runat="server"
        connectionstring="<%$ ConnectionStrings:MyNorthwind %>"
        selectcommand="SELECT CompanyName,ShipperID FROM Shippers"
        insertcommand="INSERT INTO Shippers (CompanyName,Phone) VALUES (@CoName,@Phone)">
          <insertparameters>
            <asp:formparameter name="CoName" formfield="CompanyNameBox" />
            <asp:formparameter name="Phone"  formfield="PhoneBox" />
          </insertparameters>
      </asp:sqldatasource>

      <br /><asp:textbox
           id="CompanyNameBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator1"
        runat="server"
        ControlToValidate="CompanyNameBox"
        Display="Static"
        ErrorMessage="Please enter a company name." />

      <br /><asp:textbox
           id="PhoneBox"
           runat="server" />

      <asp:RequiredFieldValidator
        id="RequiredFieldValidator2"
        runat="server"
        ControlToValidate="PhoneBox"
        Display="Static"
        ErrorMessage="Please enter a phone number." />

      <br /><asp:button
           id="Button1"
           runat="server"
           text="Insert New Shipper"
           onclick="InsertShipper" />

    </form>
  </body>
</html>

Remarques

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

Si la InsertCommand propriété contient une requête SQL paramétrée, la InsertParameters collection contient tous Parameter les objets qui correspondent aux espaces réservés de paramètre dans la chaîne SQL.

Selon le fournisseur ADO.NET, l’ordre des paramètres de la InsertParameters collection peut être important. Les System.Data.OleDb fournisseurs et System.Data.Odbc associent les paramètres de la collection en fonction de l’ordre dans lequel les paramètres apparaissent dans la requête SQL paramétrée. Le System.Data.SqlClient fournisseur, qui est le fournisseur ADO.NET par défaut pour le SqlDataSource contrôle, associe les paramètres de la collection en faisant correspondre le nom du paramètre à 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.

Important

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

S’applique à

Voir aussi