java – 从ResultSet获取所有结果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 从ResultSet获取所有结果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1339字,纯文字阅读大概需要2分钟。
内容图文
![java – 从ResultSet获取所有结果](/upload/InfoBanner/zyjiaocheng/811/b10197ab8ddf40299e5de3ce8f0a6502.jpg)
我得到一个ArrayList类型的ResultSet< MyClass>一切都运作良好,除了它没有得到列表中的第一项.
看来这部分实际上是第一个选择并使用它,尽管实际上没有做任何事情:
if (!result.next()) {
//throw Excepion
}
然后我运行while(result.next()){并填充ArrayList.
数据库中的第一项只是一个空字符串(实际上是一个空格),还有n个其他条目.我也想要那里的空白条目因为这填充了JComboBox并且需要第一个条目始终保留为空白选项.
但是,由于在while(result.next())之前检查是否(!result.next()),它只会从item2开始显示.如果我删除if,它将在下拉列表中留下空白选项.
需要注意的是,这段代码正在尝试…最后.
所以我的问题/疑问是:
1)我最好删除if(!result.next())并为相同的异常添加一个catch吗?
2)是否可以使用我描述的初始方式,但保留结果中的第一个条目?
3)有没有更好的方法来获得第一个条目而不仅仅是在表格的第一个条目中有空格? (注意,如果它只是字面上的空白,并且我删除了if,它将在下拉列表中显示一个小小的选项.
解决方法:
从ResultSet获取所有项目并将它们放在列表中如下所示:
List<MyObj> data = new ArrayList<>();
try {
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT Id, Name, ...");
while (rs.next()) {
int id= rs.getInt("Id");
String name = rs.getString("Name");
data.add(new MyObject(id, name));
}
} catch (SQLException e ) {
JDBCTutorialUtilities.printSQLException(e);
} finally {
if (stmt != null) { stmt.close(); }
}
您不需要检查rs的状态,因为检查while循环的标头就足够了.
内容总结
以上是互联网集市为您收集整理的java – 从ResultSet获取所有结果全部内容,希望文章能够帮你解决java – 从ResultSet获取所有结果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。