如果有一种简单的方法可以在参数替换后返回完整的 SQL 语句?即,我想保留该程序运行的所有 SQL 的日志文件。
或者,如果我想这样做,我是否只想摆脱参数,并以老派的方式进行整个查询,在一个大字符串中?
简单示例:我想捕获输出:
从 EnrollmentSubCategory 中选择 subcatId,其中 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() 会进行替换,但显然不是。
想法?建议?提前致谢。