SqlDataSource.Insert Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Exécute une opération d'insertion à l'aide de la chaîne SQL InsertCommand et de tous les paramètres de la collection InsertParameters.
public:
int Insert();
public int Insert ();
member this.Insert : unit -> int
Public Function Insert () As Integer
Retours
Une valeur qui représente le nombre de lignes insérées dans la base de données sous-jacente.
Exceptions
SqlDataSource ne peut pas établir de connexion avec la source de données sous-jacente.
Exemples
L’exemple de code suivant montre comment insérer des données dans une base de données à l’aide du SqlDataSource contrôle et d’une page Web Forms simple. Les données actuelles de la table Données s’affichent dans le DropDownList contrôle. Vous pouvez ajouter de nouveaux enregistrements en entrant des valeurs dans les TextBox contrôles, puis en cliquant sur le bouton Insérer . Lorsque vous cliquez sur le bouton Insérer , les valeurs spécifiées sont insérées dans la base de données, puis le DropDownList est actualisé.
Important
Cet exemple inclut une zone de texte qui accepte l’entrée utilisateur, qui est une menace de sécurité potentielle et les valeurs sont insérées dans des paramètres sans validation, ce qui est également une menace de sécurité potentielle. Utilisez l’événement Inserting pour valider les valeurs de paramètre avant d’exécuter la requête. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.
Notes
Cet exemple montre comment utiliser la syntaxe déclarative pour l’accès aux données. Pour plus d’informations sur l’accès aux données à l’aide du code au lieu du balisage, consultez Accès aux données dans 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>
Remarques
Avant l’opération d’insertion, la OnInserting méthode est appelée pour déclencher l’événement Inserting . Vous pouvez gérer cet événement pour examiner les valeurs des paramètres et effectuer un prétraitement avant l’opération Insert . Pour effectuer une opération d’insertion, l’objet SqlDataSourceView génère un objet à l’aide DbCommand du InsertCommand texte et des propriétés associées InsertParameters , puis exécute l’objet DbCommand sur la base de données sous-jacente.
Une fois l’opération terminée, la OnInserted méthode est appelée pour déclencher l’événement Inserted . Vous pouvez gérer cet événement pour examiner les valeurs de retour et les codes d’erreur et effectuer un post-traitement.
La Insert méthode est fournie pour l’accès par programmation à la Insert
méthode. Si le SqlDataSource contrôle est associé à un contrôle lié aux données, le contrôle lié aux données appelle automatiquement la Insert
méthode.
La Insert méthode délègue à la Insert méthode de l’objet SqlDataSourceView associé au SqlDataSource contrôle.
Important
Les valeurs sont insérées dans des paramètres sans validation, ce qui constitue une menace potentielle pour la sécurité. Utilisez l’événement Filtering pour valider les valeurs de paramètre avant d’exécuter la requête. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.