gpt4 book ai didi

java - ResultSet.previous 不工作

转载 作者:行者123 更新时间:2023-11-30 07:09:27 30 4
gpt4 key购买 nike

我似乎无法按照我想要的方式滚动浏览我的 ResultSet :

public void getCurves(String runId, File file, Connection conn) {
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.prepareStatement(CDS, ResultSet.TYPE_SCROLL_INSENSITIVE);
int k = ps.getResultSetType();
ps.setString(1, runId);
ps.setFetchSize(1500);
rs = ps.executeQuery();

ccw.writeCore(file, rs);
ccw.writeFooter(file, "value;data");
} catch (Exception e) {
e.printStackTrace();
} finally {
close(rs, ps);
}
}

在这里,即使我将 ResultSet.type 设置为 ResultSet.TYPE_SCROLL_INSENSITIVE 这是一个值 1004 的常数,k 值 1003,这相当于 ResultSet.TYPE_FORWARD_ONLY

我是不是设置错了?

编辑:我正在使用 oracle.jdbc.driver.OracleDriver

最佳答案

您没有设置 ResultSet 类型,所以您将其保留为默认值,即:ResultSet.TYPE_FORWARD_ONLY。这是您的方法 API:http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#prepareStatement(java.lang.String,int)

您必须使用:

prepareStatement(sql, resultSetType, resultSetConcurrency);

prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);

所以对你来说,这应该足够了:

conn.prepareStatement(CDS, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

关于java - ResultSet.previous 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23106010/

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