Partager via


SqlDataSource.InsertParameters Propriété

Définition

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

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é

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

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 De données sont affichées 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 le bouton Insérer est cliqué, 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 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.

Note

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 par l’objet SqlDataSourceView associé au SqlDataSource contrôle.

Si la InsertCommand propriété contient une requête SQL paramétrable, la InsertParameters collection contient tous Parameter les objets qui correspondent aux espaces réservés de paramètres 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 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.

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