Insérer de nouveaux enregistrements dans une base de données dans des applications .NET Framework
Remarque
Les jeux de données et les classes associées sont des technologies .NET Framework héritées qui datent du début des années 2000. Elles 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. Elles sont particulièrement utiles aux applications qui permettent aux utilisateurs de modifier des données, et de rendre ces changements persistants dans la base de données. Même si les jeux de données sont une technologie très efficace, nous vous recommandons d’utiliser Entity Framework Core pour les nouvelles applications .NET. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet. De plus, il présente une interface de programmation plus simple.
Pour insérer de nouveaux enregistrements dans une base de données avec ADO.NET dans un projet .NET Framework, vous pouvez utiliser la méthode TableAdapter.Update
ou l’une des méthodes DBDirect de TableAdapter (en particulier la méthode TableAdapter.Insert
). Pour plus d'informations, consultez TableAdapter.
Si votre application n’utilise pas TableAdapters, vous pouvez utiliser des objets de commande (par exemple SqlCommand) pour insérer de nouveaux enregistrements dans votre base de données.
Si votre application utilise des jeux de données pour stocker des données, utilisez la méthode TableAdapter.Update
. La méthode Update
envoie toutes les modifications (mises à jour, insertions et suppressions) à la base de données.
Si votre application utilise des objets pour stocker des données, ou si vous souhaitez pourvoir mieux contrôler la création d’enregistrements dans la base de données, utilisez la méthode TableAdapter.Insert
.
Si votre TableAdapter n’a pas de méthode Insert
, cela signifie que TableAdapter est configuré pour utiliser des procédures stockées ou que sa propriété GenerateDBDirectMethods
est définie sur false
. Essayez de définir la propriété GenerateDBDirectMethods
de TableAdapter sur true
à partir du concepteur de Dataset, puis enregistrez le jeu de données. Cette action régénère l’objet TableAdapter. Si TableAdapter n’a toujours pas de méthode Insert
, la table ne fournit probablement pas suffisamment d’informations de schéma pour faire la distinction entre les lignes individuelles (par exemple, aucune clé primaire n’est définie sur la table).
Notes
Cet article s’applique au développement ADO.NET et .NET Framework. Pour la même tâche avec Entity Framework 6, consultez Ajout d’une nouvelle entité au contexte. Pour Entity Framework Core, consultez Ajout de données.
Insérer de nouveaux enregistrements à l’aide de TableAdapters
Les TableAdapters fournissent différentes façons d’insérer de nouveaux enregistrements dans une base de données, en fonction des exigences de votre application.
Si votre application utilise des jeux de données pour stocker des données, vous pouvez ajouter de nouveaux enregistrements au DataTable souhaité dans le jeu de données, puis appeler la méthode TableAdapter.Update
. La méthode TableAdapter.Update
envoie les modifications apportées au DataTable à la base de données (y compris les enregistrements modifiés et supprimés).
Pour insérer de nouveaux enregistrements dans une base de données à l’aide de la méthode TableAdapter.Update
Ajoutez de nouveaux enregistrements au DataTable souhaité en créant un nouveau DataRow et en l’ajoutant à la collection Rows.
Une fois les nouvelles lignes ajoutées à DataTable, appelez la méthode
TableAdapter.Update
. Vous pouvez contrôler la quantité de données à mettre à jour en transmettant DataSet entier, DataTable, un tableau de DataRow ou un seul DataRow.Le code suivant montre comment ajouter un nouvel enregistrement à DataTable, puis appeler la méthode
TableAdapter.Update
pour enregistrer la nouvelle ligne dans la base de données. (Cet exemple utilise la tableRegion
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);
Pour insérer de nouveaux enregistrements dans une base de données à l’aide de la méthode TableAdapter.Insert
Si votre application utilise des objets pour stocker des données, vous pouvez utiliser la méthode TableAdapter.Insert
pour créer des lignes directement dans la base de données. La méthode Insert
accepte les valeurs individuelles pour chaque colonne en tant que paramètres. L’appel de la méthode insère un nouvel enregistrement dans la base de données avec les valeurs de paramètre passées.
- Appelez la méthode
Insert
de TableAdapter en passant les valeurs de chaque colonne en tant que paramètres.
La procédure suivante illustre l’utilisation de la méthode TableAdapter.Insert
pour insérer des lignes. Cet exemple insère des données dans la table Region
dans la base de données Northwind.
Notes
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 à l’aide d’objets de commande
Vous pouvez insérer de nouveaux enregistrements directement dans une base de données à l’aide d’objets de commande.
Pour insérer de nouveaux enregistrements dans une base de données à l’aide d’objets de commande
- Créez un objet de commande, puis définissez ses propriétés
Connection
,CommandType
etCommandText
.
L’exemple suivant illustre l’insertion d’enregistrements dans une base de données à l’aide d’un objet de commande. Cela insère des données dans la table Region
dans 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();
Sécurité .NET
Vous devez avoir accès à la base de données à laquelle vous essayez de vous connecter, ainsi que l’autorisation d’effectuer des insertions dans la table souhaitée.
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour