我創建了一個名爲public static ResultSet ExecuteSQLQuery(String myQuery)
現在在運行時我需要檢索從ResultSet中所執行的查詢方法。有什麼辦法從java ResultSet中檢索執行的查詢嗎?
我不知道是否有可能檢索ResultSet中所執行的查詢?
我創建了一個名爲public static ResultSet ExecuteSQLQuery(String myQuery)
現在在運行時我需要檢索從ResultSet中所執行的查詢方法。有什麼辦法從java ResultSet中檢索執行的查詢嗎?
我不知道是否有可能檢索ResultSet中所執行的查詢?
簡而言之:沒有。
可能可以使用getStatement
從結果。某些JDBC驅動程序可能會在語句的toString
方法中公開該查詢,但即使情況如此,也不應該依賴它。
你必須保存查詢,如果你想在以後使用它保持它的周圍。
您可以創建一個新的類型的ResultSet的,包括查詢並返回:
public class ResultSetWithQuery extends ResultSet {
private String query
...
}
public static ResultSetWithQuery ExecuteSQLQuery(String myQuery);
謝謝亞當,我在某些情況下,在運行時多個結果,使用{公共靜態的HashTable
這可能會起作用。您必須確保ResultSet正確地實現了hasCode和equals。或者,您可以將結果返回到自定義對象中。我編輯了答案來證明這一點。 – Adam
可是......你是路過的查詢方法。有什麼問題? – null
讓我說我使用查詢生成器,所以我不知道查詢內容。 在我的應用程序上有兩個步驟:查詢用於填充一些數據,然後出現一個動態搜索工具,該工具僅在ResultSet上具有可見性。 –
所以解決這個問題。這只是一個小設計問題。 – EJP