java - 如何解决“java.sql.SQLException:未调用 ResultSet.next”
问题描述
我有以下代码,我观察到 SQL 异常如下:
java.sql.SQLException:未调用 ResultSet.next
代码:
String query = "select account_number,flag,flag2,flag3,flag4,flag5,flag6,flag7,amount from transaction_p2 where account_number=?";
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1,"2195281819521610731");
boolean rs = ps.execute();
if(rs)
{
ResultSet set=ps.getResultSet();
System.out.pringln(set+"\t resultset");
System.out.println(set.getInt("amount"));
}
else
{
System.out.println("FALSE");
}
输出:
Connecting database...
Database connected!
oracle.jdbc.driver.ForwardOnlyResultSet@55dbe543 resultset
java.sql.SQLException: ResultSet.next was not called
at oracle.jdbc.driver.GeneratedScrollableResultSet.getInt(GeneratedScrollableResultSet.java:565)
at oracle.jdbc.driver.GeneratedResultSet.getInt(GeneratedResultSet.java:1350)
at com.online.paypal.getSampleConnection.SampleTestConnection.main(SampleTestConnection.java:48)
我只是得到了我正在打印的结果集值,system.out.println(set);
但是当我试图获取该值时,它会抛出 SQL 异常。我不确定如何从结果集中获取值。
请让我知道如何从结果集中获取值以及如何克服此问题。
如果我使用while(set.next())
,我在输出控制台中看不到任何内容。它返回错误。
解决方案
推荐阅读
- eclipse - gnu mcu eclipse无法将设备与项目关联
- ansible - Ansible Playbook - 为组中的每个导入 Playbook 传递主机名 - 检测到递归循环
- javascript - 将对象实例的方法赋值给变量然后调用是非法调用
- google-app-maker - Appmaker 输入表单,根据之前的下拉选项更改选项
- c++ - Bazel - 导入静态库时包括目录中的所有标题
- c++ - 在过滤期间展开树视图中的特定项目
- ember.js - 为什么“hasMany”关系会为关系中的每个项目创建一个 OPTIONS 和 GET 请求?
- python - 数据迁移导致错误 AttributeError: type object 'User' has no attribute 'normalize_username'?
- java - 如何为嵌入式 Flume 代理实现自定义接收器?
- javascript - 通过 Promise 将 Node js 连接到 Mongo Atlas