有没有办法从 java ResultSet 中检索已执行的查询?

Is there any way to retrieve the executed query from java ResultSet?

我现在在 运行 时创建了一个名为 public static ResultSet ExecuteSQLQuery(String myQuery) 的方法,我需要从 ResultSet 中检索已执行的查询。

我想知道是否可以从 ResultSet 中检索已执行的查询?

简而言之:没有

可能可以使用 ResultSet 中的 getStatement。某些 JDBC 驱动程序可能会在语句的 toString 方法中公开查询,但即使是这种情况也不应依赖它。

您必须保存查询并保留它,以便以后使用。

您可以创建一个新类型的 ResultSet,其中包含查询和 return:

public class ResultSetWithQuery extends ResultSet {
    private String query
    ...
}

public static ResultSetWithQuery ExecuteSQLQuery(String myQuery);