Har*_*eet 10 java postgresql crosstab prepared-statement
我有一个典型的交叉表查询与静态参数.它适用于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
}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用.
我得到一个PSQLException - 不能使用在PreparedStatement上获取查询字符串的查询方法.
我缺少什么想法?
Phi*_*art 19
您已陷入混乱的类型层次结构PreparedStatement extends Statement
:
PreparedStatement
有相同的execute*(String)
方法Statement
,但它们不应该被使用,只需使用无参数的 execute*()
方法PreparedStatement
---你已经给出了实际的查询字符串来执行使用conn.prepareStatement()
.
请试试:
String query = "...";
PreparedStatement stat = conn.prepareStatement(query);
ResultSet rs = stat.executeQuery();
while (rs.next()) {
// TODO
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6909 次 |
最近记录: |