如何通过Parameters.Append参数化后查看查询的SQL代码
答案 0 :(得分:3)
你不能。
参数化查询的构建方式不像您准备好时可以输出的字符串。
这始终分为两个步骤:
在任何时候,两个(查询和参数)都不会在数据库服务器外部联系。 (这就是为什么参数化查询比手工制作的SQL字符串更安全的原因。)
答案 1 :(得分:0)
您可以编写一些简单的代码,通过循环参数来解析结果。这是一个VBScript / Classic ASP示例:
queryPlain = command.CommandText
For Each p In command.Parameters
If (p.type = adChar) or (p.type = adBSTR) or (p.type = adDBDate) Then
queryPlain = Replace(queryPlain , "?", "'" & p.value & "'",1,1)
Else
queryPlain = Replace(queryPlain , "?", p.value,1,1)
End If
Next
以下是类似于VB.net的内容
queryPlain = command.CommandText
For Each p As SqlParameter In command.Parameters
queryPlain = queryPlain.Replace(p.ParameterName, p.Value.ToString())
Next
现在queryPlain包含包含参数的SQL。我发现这对调试很有用。