Maison >développement back-end >C++ >Comment puis-je récupérer l'instruction SQL exécutée à partir d'un objet SqlCommand ?

Comment puis-je récupérer l'instruction SQL exécutée à partir d'un objet SqlCommand ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-18 01:51:11947parcourir

How Can I Retrieve the Executed SQL Statement from a SqlCommand Object?

Récupération de l'instruction SQL à partir d'un objet SqlCommand

Dans divers scénarios, les développeurs peuvent rencontrer le besoin de récupérer l'instruction SQL générée à partir d'un SqlCommand objet. Cela peut servir à des fins utiles telles que la journalisation des instructions ayant échoué ou la facilitation des tests dans Enterprise Manager.

Solution :

Bien que la classe SqlCommand ne fournisse pas de méthode directe pour extraire le instruction SQL générée, il est possible de construire la chaîne manuellement via :

  1. Obtenir la commande Text : Attribuez la propriété CommandText de l'objet SqlCommand à une variable de chaîne.
  2. Itérer sur les paramètres : Parcourez la collection de paramètres dans l'objet SqlCommand. Pour chaque paramètre, remplacez son espace réservé dans CommandText par sa valeur réelle.
StringBuilder query = new StringBuilder(cmd.CommandText);

foreach (SqlParameter p in cmd.Parameters)
{
    query.Replace(p.ParameterName, p.Value.ToString());
}

Cette approche vous permet de construire l'instruction SQL finale sous forme de chaîne, permettant son utilisation à des fins de journalisation ou de test.

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