SqlDataSource.Insert Methode

Definition

Führt mithilfe der InsertCommand-SQL-Zeichenfolge und allen Parametern, die in der InsertParameters-Auflistung vorhanden sind, einen Einfügevorgang aus.Performs an insert operation using the InsertCommand SQL string and any parameters that are in the InsertParameters collection.

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

Gibt zurück

Ein Wert, der die Anzahl der in die zugrunde liegenden Datenbank eingefügten Zeilen darstellt.A value that represents the number of rows inserted into the underlying database.

Ausnahmen

Die SqlDataSource kann keine Verbindung mit der zugrunde liegenden Datenquelle herstellen.The SqlDataSource cannot establish a connection with the underlying data source.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Daten mithilfe des SqlDataSource -Steuer Elements und einer einfachen Web Forms Seite in eine Datenbank eingefügt werden.The following code example demonstrates how to insert data into a database using the SqlDataSource control and a simple Web Forms page. Die aktuellen Daten in der Datentabelle werden im DropDownList -Steuerelement angezeigt.The current data in the Data table is displayed in the DropDownList control. Sie können neue Datensätze hinzufügen, indem Sie TextBox Werte in die Steuerelemente eingeben und dann auf die Schaltfläche Einfügen klicken.You can add new records by entering values in the TextBox controls, and then clicking the Insert button. Wenn auf die Schaltfläche Einfügen geklickt wird, werden die angegebenen Werte in die Datenbank eingefügt, und DropDownList anschließend wird aktualisiert.When the Insert button is clicked, the specified values are inserted into the database, and then the DropDownList is refreshed.

Wichtig

Dieses Beispiel enthält ein Textfeld, das eine Benutzereingabe akzeptiert, bei der es sich um eine potenzielle Sicherheitsbedrohung handelt und Werte ohne Validierung in Parameter eingefügt werden, was auch eine potenzielle Sicherheitsbedrohung darstellt.This example includes a text box that accepts user input, which is a potential security threat and values are inserted into parameters without validation, which is also a potential security threat. Verwenden Sie Inserting das-Ereignis, um Parameterwerte vor dem Ausführen der Abfrage zu überprüfen.Use the Inserting event to validate parameter values before executing the query. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.For more information, see Script Exploits Overview.

Hinweis

In diesem Beispiel wird gezeigt, wie die deklarative Syntax für den Datenzugriff verwendet wird.This example shows how to use declarative syntax for data access. Informationen zum Zugreifen auf Daten mithilfe von Code anstelle von Markup finden Sie unter zugreifen auf Daten in Visual Studio.For information about how to access data by using code instead of markup, see Accessing data in 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>

Hinweise

Bevor der INSERT-Vorgang ausgeführt wird, OnInserting wird die-Methode aufgerufen, Inserting um das-Ereignis zu erhöhen.Before the insert operation is performed, the OnInserting method is called to raise the Inserting event. Sie können dieses Ereignis behandeln, um die Werte der Parameter zu überprüfen und vor dem Insert Vorgang eine Vorverarbeitung auszuführen.You can handle this event to examine the values of the parameters and to perform any preprocessing before the Insert operation. Um einen Einfügevorgang auszuführen SqlDataSourceView , erstellt das DbCommand -Objekt ein InsertCommand -Objekt mit dem InsertParameters Text und den zugehörigen Eigenschaften und DbCommand führt dann das-Objekt für die zugrunde liegende Datenbank aus.To perform an insert operation, the SqlDataSourceView object builds an DbCommand object using the InsertCommand text and any associated InsertParameters properties, and then executes the DbCommand object against the underlying database.

Nachdem der Vorgang abgeschlossen wurde, OnInserted wird die-Methode aufgerufen, Inserted um das-Ereignis zu erhöhen.After the operation completes, the OnInserted method is called to raise the Inserted event. Sie können dieses Ereignis behandeln, um alle Rückgabewerte und Fehlercodes zu überprüfen und Nachbearbeitung auszuführen.You can handle this event to examine any return values and error codes and to perform any post-processing.

Die Insert -Methode wird für den programmgesteuerten Zugriff Insert auf die-Methode bereitgestellt.The Insert method is provided for programmatic access to the Insert method. Wenn das SqlDataSource Steuerelement einem Daten gebundenen Steuerelement zugeordnet ist, ruft das Daten gebundene Steuerelement automatisch die Insert -Methode auf.If the SqlDataSource control is associated with a data-bound control, the data-bound control automatically calls the Insert method.

Die Insert -Methode delegiert an Insert die-Methode SqlDataSourceView des-Objekts, das dem SqlDataSource -Steuerelement zugeordnet ist.The Insert method delegates to the Insert method of the SqlDataSourceView object that is associated with the SqlDataSource control.

Wichtig

Werte werden ohne Validierung in Parameter eingefügt, was ein potenzielles Sicherheitsrisiko darstellt.Values are inserted into parameters without validation, which is a potential security threat. Verwenden Sie Filtering das-Ereignis, um Parameterwerte vor dem Ausführen der Abfrage zu überprüfen.Use the Filtering event to validate parameter values before executing the query. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.For more information, see Script Exploits Overview.

Gilt für:

Siehe auch