S'il existe un moyen facile de récupérer une instruction SQL terminée après la substitution de paramètres? Par exemple, je veux conserver un fichier journal de tous les SQL que ce programme exécute.Comment capturer SQL avec les paramètres substitués dans? (.NET, SqlCommand)
Ou si je veux faire cela, est-ce que je veux juste me débarrasser des paramètres, et faire toute la requête à l'ancienne, dans une grande chaîne?
Exemple simple: Je veux capturer la sortie:
SELECT subcatId DE EnrollmentSubCategory OU catid = 1
.. de ce code:
Dim subCatSQL As String = "SELECT subcatId FROM EnrollmentSubCategory WHERE catid = @catId"
Dim connectionString As String = "X"
Dim conn As New SqlConnection(connectionString)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
Dim cmd As New SqlCommand(subCatSQL, conn)
With cmd
.Parameters.Add(New SqlParameter("@catId", SqlDbType.Int, 1))
End With
Console.WriteLine("Before: " + cmd.CommandText)
cmd.Prepare()
Console.WriteLine("After: " + cmd.CommandText)
J'avais supposé Préparer() ferait les substitutions, mais apparemment pas.
Pensées? Conseil? Merci d'avance.
Merci pour toutes les réponses - J'ai choisi cela comme réponse car elle a expliqué le raisonnement le mieux. Merci a tous! – Bryan