Maison >base de données >tutoriel mysql >Comment récupérer l'ID d'une ligne insérée en C# ?

Comment récupérer l'ID d'une ligne insérée en C# ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-12 07:07:021095parcourir

How to Retrieve the ID of an Inserted Row in C#?

Obtention de l'ID de la ligne insérée en C#

Lors de l'insertion d'une nouvelle ligne dans une table de base de données, il est souvent nécessaire d'obtenir l'ID de l'enregistrement nouvellement créé. Cependant, le code fourni dans la question n'a pas réussi à récupérer correctement l'ID.

Le problème réside dans l'utilisation de ExecuteScalar(). Cette méthode récupère uniquement la première colonne de la première ligne du jeu de résultats, qui dans ce cas est une valeur entière de 0 puisque la requête ne renvoie aucune ligne.

Pour obtenir correctement l'ID de l'inséré ligne, suivez ces étapes :

  1. Exécutez l'instruction d'insertion à l'aide de ExecuteNonQuery().
  2. Récupérez l'ID de l'élément inséré à l'aide de LastInsertedId.

Voici le code révisé :

MySqlCommand comm = connect.CreateCommand();
comm.CommandText = insertStatement;  // Set the insert statement
comm.ExecuteNonQuery();              // Execute the command
long id = comm.LastInsertedId;       // Get the ID of the inserted item

Ce code mis à jour exécute d'abord la commande d'insertion, puis récupère l'ID de la ligne nouvellement insérée à partir de la propriété LastInsertedId de la commande objet. Cela récupère correctement la valeur d'ID correcte pour un traitement ultérieur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn