パラメータ置換後に完全な SQL ステートメントを取得する簡単な方法がある場合は? つまり、このプログラムが実行するすべての SQL のログファイルを保持したいと考えています。
または、これを行いたい場合は、パラメーターを取り除き、クエリ全体を古い学校の方法で 1 つの大きな文字列で実行したいだけですか?
簡単な例: 出力をキャプチャしたい:
SELECT subcatId FROM EnrollmentSubCategory WHERE catid = 1
.. このコードから:
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)
私は Prepare() が置換を行うと思っていましたが、明らかにそうではありません。
考え?アドバイス?前もって感謝します。