我进行数据库查询,并将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/

10-11 02:50