Existe-t-il un moyen simple de récupérer une instruction SQL complète après la substitution de paramètres ? Je veux garder un fichier journal de tous les SQL que ce programme exécute.
Ou bien, si je veux faire cela, dois-je simplement me débarrasser des paramètres et faire toute la requête à l'ancienne, dans une seule grande chaîne ?
Exemple simple : Je veux capturer la sortie :
SELECT subcatId FROM EnrollmentSubCategory WHERE 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é que Prepare() ferait les substitutions, mais apparemment non.
Réflexions ? Des conseils ? Merci d'avance.