SqlDataSource.InsertParameters Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Parameterauflistung mit den Parametern ab, die von der InsertCommand-Eigenschaft des dem SqlDataSourceView-Steuerelement zugeordneten SqlDataSource-Objekts verwendet werden.
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
Eigenschaftswert
Eine ParameterCollection, die die von der InsertCommand-Eigenschaft verwendeten Parameter enthält.
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Daten mithilfe des SqlDataSource Steuerelements und einer einfachen Web Forms-Seite in eine Datenbank eingefügt werden. Die aktuellen Daten in der Datentabelle werden im DropDownList Steuerelement angezeigt. Sie können neue Datensätze hinzufügen, indem Sie Werte in die TextBox Steuerelemente eingeben und dann auf die Schaltfläche Einfügen klicken. Wenn auf die Schaltfläche Einfügen geklickt wird, werden die angegebenen Werte in die Datenbank eingefügt, und das DropDownList Steuerelement wird aktualisiert.
Wichtig
Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, die eine potenzielle Sicherheitsbedrohung darstellen, und Werte werden ohne Überprüfung in Parameter eingefügt, was auch eine potenzielle Sicherheitsbedrohung darstellt. Verwenden Sie das Inserting -Ereignis, um Parameterwerte vor dem Ausführen der Abfrage zu überprüfen. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.
Hinweis
In diesem Beispiel wird gezeigt, wie Sie die deklarative Syntax für den Datenzugriff verwenden. Informationen zum Zugreifen auf Daten mithilfe von Code anstelle von Markup finden Sie unter Zugreifen auf Daten 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
Die InsertParameters -Eigenschaft ruft die InsertParameters -Eigenschaft ab, die in dem SqlDataSourceView Objekt enthalten ist, das dem SqlDataSource Steuerelement zugeordnet ist.
Wenn die InsertCommand -Eigenschaft eine parametrisierte SQL-Abfrage enthält, enthält die InsertParameters Auflistung alle Parameter Objekte, die den Parameterplatzhaltern in der SQL-Zeichenfolge entsprechen.
Je nach ADO.NET Anbieters kann die Reihenfolge der Parameter in der InsertParameters Auflistung wichtig sein. Die System.Data.OleDb Anbieter und System.Data.Odbc ordnen die Parameter in der Auflistung entsprechend der Reihenfolge zu, in der die Parameter in der parametrisierten SQL-Abfrage angezeigt werden. Der System.Data.SqlClient Anbieter, der standardmäßig ADO.NET Anbieter für das SqlDataSource Steuerelement ist, ordnet die Parameter in der Auflistung zu, indem er den Namen des Parameters mit einem Platzhalteralias in der SQL-Abfrage abgleicht. Weitere Informationen zu parametrisierten SQL-Abfragen und -Befehlen finden Sie unter Verwenden von Parametern mit dem SqlDataSource-Steuerelement.
Wichtig
Werte werden ohne Überprüfung in Parameter eingefügt, was eine potenzielle Sicherheitsbedrohung darstellt. Verwenden Sie das Filtering -Ereignis, um Parameterwerte vor dem Ausführen der Abfrage zu überprüfen. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.