我想在
TFDQuery
组件中记录 SQL 语句,但 qry.SQL.Text
属性没有合并参数。 有没有办法获取发送到服务器的 SQL?
AFAIK,没有办法合并参数的 SQL,因为这不是它的工作原理。 SQL内容经过FireDAC预处理,然后带有参数标记发送到SQL服务器,而参数是单独发送的。这允许使用不同的参数执行相同的(已经准备好的)查询以提高性能。
如果你按照注释中的
TFDMonitor
建议,你会看到:发送到服务器的SQL带有参数标记,实际参数是单独发送的。
由于
TFDQuery
中的SQL可能会被预处理,只要查询已经准备好,就可以使用TFDQuery.Command.SQLText
检索结果(请参阅:FireDAC.Comp.Client.TFDCustomCommand.SQLText)。