我进行数据库查询,并将Account
对象存储在ResultSet
中。这是代码:
try {
ResultSet rs = queryDatabase();
int i=0;
while (rs.next()) {
Account account= rs.getObject(i, Account); //ERROR
accounts.add(account);
i++;
}
} catch (Exception e) {
}
此代码返回3个对象并将其存储在rs中。然后,我想在
ResultSet
中获取这些对象,然后将它们放入ArrayList
中,就像在代码中看到的那样。但是它在指定的行中给出了一个错误,表明需要;
。如何正确使用getObject
方法? 最佳答案
ResultSet.getObject
(和其他getXxx
方法)将从ResultSet
的当前行中检索数据,并从索引1开始。您已将i
变量设置为0值。
只是改变这个
int i=0;
至
int i=1;
另外,
getObject
需要一个参数,但是您错误地发送了两个参数:Account account= rs.getObject(i, Account);
可能您正在尝试使用
ResultSet#getObject(int, Class)
(可从Java 7获得),但必须考虑到Account
类无法从数据库列神奇地转换为该对象的实例。看起来最好先检查JDBC trial,然后重试以解决您的问题。
这是另一个值得回顾的好资料:Using Customized Type Mappings
关于java - 结果集的getObject()方法-如何正确使用它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17559938/