Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour insérer de nouveaux enregistrements dans une base de données avec ADO.NET dans un projet .NET Framework, l’approche courante consiste à utiliser des méthodes TableAdapter . Les TableAdapters permettent la communication entre votre application et votre base de données. Ils fournissent différentes façons d’insérer de nouveaux enregistrements dans une base de données, en fonction des exigences de votre application. Vous pouvez utiliser la TableAdapter.Update méthode ou l’une des méthodes TableAdapter DBDirect (en particulier, la TableAdapter.Insert méthode).
Cet article explique comment insérer des enregistrements dans une base de données pour une application créée avec ADO.NET et .NET Framework à l’aide de Visual Basic (VB) ou C#. Si votre configuration d’application utilise Entity Framework 6, consultez Ajout d’une nouvelle entité au contexte, ou pour Entity Framework Core, consultez Ajout de données.
Remarque
La DataSet classe et les classes associées sont des technologies .NET Framework héritées du début des années 2000 qui permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Les technologies sont particulièrement utiles pour les applications qui permettent aux utilisateurs de modifier les données et de conserver les modifications apportées à la base de données. Bien que les jeux de données soient une technologie éprouvée, l’approche recommandée pour les nouvelles applications .NET consiste à utiliser Entity Framework Core. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet et dispose d’une interface de programmation plus simple.
Conditions préalables
Pour utiliser des méthodes TableAdapter, vous devez disposer d’une instance disponible. Pour plus d’informations, consultez Créer et configurer TableAdapters dans les applications .NET Framework.
Sécurité .NET : vous devez avoir accès à la base de données à laquelle vous essayez de vous connecter et l’autorisation d’effectuer des insertions dans la table souhaitée.
Choisir la méthode d’insertion
Il existe différentes approches pour insérer des enregistrements dans une base de données en fonction de votre scénario d’application. Le tableau suivant récapitule les options :
| Scénario | Approche | Remarques |
|---|---|---|
| L’application utilise des jeux de données pour stocker des données | Utilisez la méthode TableAdapter.Update pour envoyer toutes les modifications à la base de données | Les modifications incluent les mises à jour, les insertions et les suppressions. |
| L’application utilise des objets pour stocker des données | Utilisez la méthode TableAdapter.Insert pour insérer de nouveaux enregistrements dans la base de données | Cette approche vous permet d’avoir un meilleur contrôle sur la création de nouveaux enregistrements. |
L’application utilise TableAdapters, Insert méthode non disponible |
Définissez la propriété TableAdapter GenerateDBDirectMethods à true partir du Concepteur de jeux de données et enregistrez le jeu de données pour régénérer TableAdapter |
Si votre TableAdapter n’a pas la méthode Insert, le TableAdapter est soit configuré pour utiliser des procédures stockées soit la propriété GenerateDBDirectMethods est définie sur false. Si la Insert méthode reste indisponible après la régénération de TableAdapter, la table ne fournit probablement pas suffisamment d’informations de schéma pour distinguer les lignes individuelles (par exemple, aucune clé primaire n’est définie sur la table). |
| L’application n’utilise pas TableAdapters | Utiliser des objets de commande pour insérer de nouveaux enregistrements dans la base de données | Exemple : SqlCommand |
Insérer de nouveaux enregistrements à l’aide de TableAdapters
Si votre application utilise des jeux de données pour stocker des données, vous pouvez ajouter de nouveaux enregistrements au jeu de données souhaité DataTable , puis appeler la TableAdapter.Update méthode. La TableAdapter.Update méthode envoie les modifications apportées à la DataTable base de données, y compris les enregistrements modifiés et supprimés.
Insérer de nouveaux enregistrements avec la méthode TableAdapter.Update
La procédure suivante montre comment insérer de nouveaux enregistrements dans une base de données à l’aide de la TableAdapter.Update méthode :
Ajoutez de nouveaux enregistrements à l’objet souhaité DataTable en créant un nouvel élément DataRow et en l’ajoutant à la collection Rows.
Après avoir ajouté les nouvelles lignes à DataTable , appelez la méthode
TableAdapter.Update. Vous pouvez contrôler la quantité de données à mettre à jour en passant l’une des valeurs de paramètre suivantes :Le code suivant montre comment ajouter un nouvel enregistrement à un DataTable enregistrement, puis appeler la
TableAdapter.Updateméthode pour enregistrer la nouvelle ligne dans la base de données. Cet exemple utilise laRegiontable dans la base de données Northwind.// Create a new row. NorthwindDataSet.RegionRow newRegionRow; newRegionRow = northwindDataSet.Region.NewRegionRow(); newRegionRow.RegionID = 5; newRegionRow.RegionDescription = "NorthWestern"; // Add the row to the Region table this.northwindDataSet.Region.Rows.Add(newRegionRow); // Save the new row to the database this.regionTableAdapter.Update(this.northwindDataSet.Region);
Insérer de nouveaux enregistrements avec la méthode TableAdapter.Insert
Si votre application utilise des objets pour stocker des données, vous pouvez utiliser la TableAdapter.Insert méthode pour créer des lignes directement dans la base de données. La Insert méthode accepte les valeurs individuelles pour chaque colonne en tant que paramètres. Lorsque vous appelez la méthode, un nouvel enregistrement est inséré dans la base de données avec les valeurs de paramètre passées.
- Appelez la méthode de
InsertTableAdapter et transmettez les valeurs de chaque colonne en tant que paramètres.
La procédure suivante montre comment utiliser la TableAdapter.Insert méthode pour insérer des lignes. Cet exemple insère des données dans la Region table dans la base de données Northwind.
Remarque
Si vous n’avez pas d’instance disponible, instanciez le TableAdapter que vous souhaitez utiliser.
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter =
new NorthwindDataSetTableAdapters.RegionTableAdapter();
regionTableAdapter.Insert(5, "NorthWestern");
Insérer de nouveaux enregistrements avec des objets de commande
Vous pouvez insérer de nouveaux enregistrements directement dans une base de données à l’aide d’objets de commande.
- Créez un nouvel objet de commande, puis définissez ses propriétés
Connection,CommandTypeetCommandText.
La procédure suivante montre comment insérer des enregistrements dans une base de données à l’aide de l’objet de commande. Cet exemple montre comment insérer des données dans la Region table de la base de données Northwind.
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')";
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();