Récupération de l'ID de ligne insérée en C#
L'obtention de l'ID d'une ligne insérée à l'aide d'un champ AUTO_INCREMENT est essentielle pour le traitement ultérieur. Cependant, dans certains scénarios, l'exécution d'une requête d'insertion peut ne pas produire la valeur d'ID attendue.
Pour résoudre ce problème, envisagez l'approche suivante :
Modifier l'instruction Insert :
Au lieu de spécifier les valeurs de colonne directement dans la requête, vous pouvez utiliser des espaces réservés pour les paramètres et définir les valeurs des paramètres séparément. Cela garantit une affectation correcte des valeurs :
MySqlCommand comm = connect.CreateCommand(); comm.CommandText = insertStatement; comm.Parameters.AddWithValue("@invoiceDate", invoiceDate); comm.Parameters.AddWithValue("@bookFee", bookFee); comm.Parameters.AddWithValue("@adminFee", adminFee); comm.Parameters.AddWithValue("@totalFee", totalFee); comm.Parameters.AddWithValue("@customerId", customerId);
Exécutez la requête d'insertion :
Exécutez la commande d'insertion à l'aide de ExecuteNonQuery(). Cette méthode renvoie le nombre de lignes affectées par la requête :
int rowsAffected = comm.ExecuteNonQuery();
Récupérer le dernier ID inséré :
Après avoir exécuté avec succès la requête d'insertion, vous peut récupérer l'ID de la ligne insérée en utilisant LastInsertedId :
long id = comm.LastInsertedId;
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!