在Delphi中,在TFDQuery上有没有办法获取参数合并后的SQL?

问题描述 投票:0回答:1

我想在

TFDQuery
组件中记录 SQL 语句,但
qry.SQL.Text
属性没有合并参数。 有没有办法获取发送到服务器的 SQL?

delphi firedac
1个回答
0
投票

AFAIK,没有办法合并参数的 SQL,因为这不是它的工作原理。 SQL内容经过FireDAC预处理,然后带有参数标记发送到SQL服务器,而参数是单独发送的。这允许使用不同的参数执行相同的(已经准备好的)查询以提高性能。

如果你按照注释中的

TFDMonitor
建议,你会看到:发送到服务器的SQL带有参数标记,实际参数是单独发送的。

由于

TFDQuery
中的SQL可能会被预处理,只要查询已经准备好,就可以使用
TFDQuery.Command.SQLText
检索结果(请参阅:FireDAC.Comp.Client.TFDCustomCommand.SQLText)。

© www.soinside.com 2019 - 2024. All rights reserved.