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 :
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!