SqlDataSource.InsertParameters Eigenschap

Definitie

Hiermee haalt u de verzameling parameters op die de parameters bevat die door de InsertCommand eigenschap worden gebruikt van het SqlDataSourceView object dat is gekoppeld aan het SqlDataSource besturingselement.

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

Waarde van eigenschap

Een ParameterCollection die de parameters bevat die door de InsertCommand eigenschap worden gebruikt.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u gegevens invoegt in een database met behulp van het SqlDataSource besturingselement en een eenvoudige webpagina met webformulieren. De huidige gegevens in de tabel Gegevens worden weergegeven in het DropDownList besturingselement. U kunt nieuwe records toevoegen door waarden in de TextBox besturingselementen in te voeren en vervolgens op de knop Invoegen te klikken. Wanneer op de knop Invoegen wordt geklikt, worden de opgegeven waarden ingevoegd in de database en wordt het DropDownList besturingselement vernieuwd.

Important

Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert, wat een mogelijke beveiligingsrisico is en waarden worden ingevoegd in parameters zonder validatie, wat ook een mogelijke beveiligingsrisico is. Gebruik de Inserting gebeurtenis om parameterwaarden te valideren voordat u de query uitvoert. Zie Overzicht van Script Exploits voor meer informatie.

Note

In dit voorbeeld ziet u hoe u declaratieve syntaxis gebruikt voor gegevenstoegang. Zie Toegang tot gegevens in Visual Studio voor informatie over het openen van gegevens met behulp van code in plaats van markeringen.

<%@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>

Opmerkingen

De InsertParameters eigenschap haalt de InsertParameters eigenschap op die is opgenomen in het SqlDataSourceView object dat is gekoppeld aan het SqlDataSource besturingselement.

Als de InsertCommand eigenschap een geparameteriseerde SQL-query bevat, bevat de InsertParameters verzameling objecten Parameter die overeenkomen met de tijdelijke aanduidingen voor de parameter in de SQL-tekenreeks.

Afhankelijk van de ADO.NET provider kan de volgorde van de parameters in de verzameling InsertParameters belangrijk zijn. De System.Data.OleDb en System.Data.Odbc providers koppelen de parameters in de verzameling aan de volgorde waarin de parameters worden weergegeven in de geparameteriseerde SQL-query. De System.Data.SqlClient-provider, de standaard-ADO.NET-provider voor het besturingselement SqlDataSource, koppelt de parameters in de verzameling door de naam van de parameter te koppelen aan een tijdelijke aanduidingsalias in de SQL-query. Zie Parameters gebruiken met het besturingselement SqlDataSource voor meer informatie over geparameteriseerde SQL-query's en -opdrachten.

Important

Waarden worden ingevoegd in parameters zonder validatie. Dit is een mogelijke beveiligingsrisico. Gebruik de Filtering gebeurtenis om parameterwaarden te valideren voordat u de query uitvoert. Zie Overzicht van Script Exploits voor meer informatie.

Van toepassing op

Zie ook