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

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

DDD
Libérer: 2024-11-07 18:49:03
original
844 Les gens l'ont consulté

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

Récupération de l'identifiant d'une ligne insérée en C#

Dans une table de base de données contenant un champ "ID" auto-incrémenté, obtention de l'ID d'une ligne récemment insérée s'avère être une tâche récurrente. Cela devient particulièrement crucial pour les opérations ultérieures dépendant de l'ID.

Dans votre cas, malgré l'exécution d'une commande d'insertion, la valeur de l'ID récupérée a systématiquement renvoyé zéro. Cet écart provient de l'utilisation de ExecuteScalar, qui récupère la première colonne de la première ligne renvoyée par la commande. Puisqu'aucune colonne spécifique n'est projetée, la valeur au premier index est récupérée. Cependant, les identifiants auto-incrémentés sont généralement générés après l'insertion de la commande, ce qui fait que la colonne ID ne contient initialement rien.

Pour résoudre ce problème, pensez à modifier votre code comme suit :

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
Copier après la connexion

La différence critique réside dans l'utilisation de ExecuteNonQuery, qui exécute spécifiquement l'instruction insert sans renvoyer de valeur. Par la suite, l'appel de LastInsertedId récupère directement la valeur de l'ID générée.

Cette approche s'aligne sur l'exigence de récupérer l'ID auto-incrémenté, éliminant ainsi le problème rencontré avec ExecuteScalar.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal