【发布时间】:2010-05-19 17:43:19
【问题描述】:
是否有一种简单的方法可以在参数替换后返回完整的 SQL 语句?即,我想保留该程序运行的所有 SQL 的日志文件。
或者如果我想这样做,我是否只想摆脱参数,并以老派的方式进行整个查询,在一个大字符串中?
简单示例:我要捕获输出:
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() 会进行替换,但显然不是。
想法?建议?提前致谢。
【问题讨论】:
标签: .net sql vb.net ado.net sqlcommand