gpt4 book ai didi

Java Crosstab - 准备语句查询

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:38 25 4
gpt4 key购买 nike

我有一个带有静态参数的典型交叉表查询。它适用于 createStatement。我想使用 preparestatement 来查询。

String query = "SELECT * FROM crosstab(
'SELECT rowid, a_name, value
FROM test WHERE a_name = ''att2''
OR a_name = ''att3''
ORDER BY 1,2'
) AS ct(row_name text, category_1 text, category_2 text, category_3 text);";
PreparedStatement stat = conn.prepareStatement(query);
ResultSet rs = stat.getResultSet();

stat.executeQuery(query);
rs = stat.getResultSet();

while (rs.next()) {
//TODO
}

但是好像不行。

我得到一个PSQLException -

Can't use query methods that take a query string on a PreparedStatement.

知道我遗漏了什么吗?

最佳答案

您已经被 PreparedStatement extends Statement 的困惑类型层次所迷惑:

PreparedStatement 具有与 Statement 相同的 execute*(String) 方法,但不应该使用它们,只需使用无参数 execute*() PreparedStatement 方法 --- 您已经使用 conn.prepareStatement( )

关于Java Crosstab - 准备语句查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com