Taal

SqlDataSource.Insert Methode

Definitie

Voert een invoegbewerking uit met behulp van de InsertCommand SQL-tekenreeks en eventuele parameters in de InsertParameters verzameling.

public:
 int Insert();
public int Insert();
member this.Insert : unit -> int
Public Function Insert () As Integer

Retouren

Een waarde die het aantal rijen aangeeft dat is ingevoegd in de onderliggende database.

Uitzonderingen

Er SqlDataSource kan geen verbinding worden tot stand gebracht met de onderliggende gegevensbron.

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 de DropDownList knop vernieuwd.

Important

Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico en waarden worden ingevoegd in parameters zonder validatie. Dit is ook een mogelijke beveiligingsrisico. 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

Voordat de invoegbewerking wordt uitgevoerd, wordt de OnInserting methode aangeroepen om de Inserting gebeurtenis te genereren. U kunt deze gebeurtenis afhandelen om de waarden van de parameters te onderzoeken en eventuele voorverwerkingen vóór de Insert bewerking uit te voeren. Als u een invoegbewerking wilt uitvoeren, bouwt het SqlDataSourceView object een DbCommand object met behulp van de InsertCommand tekst en eventuele bijbehorende InsertParameters eigenschappen en voert het DbCommand object vervolgens uit op de onderliggende database.

Nadat de bewerking is voltooid, wordt de OnInserted methode aangeroepen om de Inserted gebeurtenis te genereren. U kunt deze gebeurtenis afhandelen om alle retourwaarden en foutcodes te onderzoeken en eventuele naverwerking uit te voeren.

De Insert methode wordt verstrekt voor programmatische toegang tot de Insert methode. Als het SqlDataSource besturingselement is gekoppeld aan een gegevensgebonden besturingselement, roept het gegevensgebonden besturingselement automatisch de Insert methode aan.

De Insert methode delegeert de methode aan de Insert methode van het SqlDataSourceView object dat is gekoppeld aan het SqlDataSource besturingselement.

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