【发布时间】:2009-02-06 06:53:35
【问题描述】:
如何查看我的查询的 SQL 代码在它已被 Parameters.Append 参数化
【问题讨论】:
标签: sql asp-classic vbscript ado
如何查看我的查询的 SQL 代码在它已被 Parameters.Append 参数化
【问题讨论】:
标签: sql asp-classic vbscript ado
你不能。
参数化查询不像字符串那样构建,您可以在准备好后输出。
这总是一个两步的过程:
这两者(查询和参数)在任何时候都不会在数据库服务器之外取得联系。 (这就是参数化查询比手工制作的 SQL 字符串更安全的原因。
【讨论】:
您可以编写一些简单的代码,通过循环遍历参数来解析结果。这是一个 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。我发现这对调试很有用。
【讨论】: