SqlDataSource.InsertParameters Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.