2016-01-29 2 views
0

J'ai beaucoup de code C# hérité qui utilise malheureusement des jeux de données fortement typés. Ma question est comment puis-je obtenir l'instruction Select qui a été réellement exécutée lorsque le jeu de données Strongly Typed est rempli?Récupère le code SQL qui a été exécuté par un jeu de données fortement typé (C#)

+0

Si vous en avez juste besoin pour le dépannage, Sql Profiler peut capturer toutes les instructions exécutées sur le serveur/db cible. – StingyJack

Répondre

1

Si vous utilisez un jeu de données typé, toutes vos procédures sont mappées aux méthodes appropriées dans l'ensemble de données (vous pouvez vérifier la même chose dans designer.cs).

Vous pouvez sélectionner n'importe quelle méthode/procédure et aller aux propriétés et vérifier la commande de sélection. Comment puis-je obtenir l'instruction Select qui a été effectivement exécutée lorsque le jeu de données Strongly Typed est rempli? Je crois que vous utilisez SqlDataAdapter pour remplir le jeu de données typé. Dans ce cas, vous pouvez simplement utiliser la propriété SqlDataAdapter.SelectCommand comme

da.SelectCommand.CommandText; 
+0

Merci, cela a fonctionné pour moi. –

0

Normalement, vous verrez les instructions SQL dans le TableAdapter dans le Concepteur de DataSet; faites un clic droit et sélectionnez "Configurer". Cependant, il y aura généralement plusieurs requêtes - vous devrez examiner le code source pour déterminer lequel est appelé et avec quels paramètres.