0

我正在尝试从我的 derby 数据库中的特定表中获取计数,但是当我运行代码时,我一直在当前光标位置获得 Invalid operation

    public int getNumUsers(){
    ResultSet rs = null;
    int size = -1;
    try {
        stmt = conn.createStatement();
        rs = stmt.executeQuery("select count(*) from USERS");
        while(rs.next()){
            size = rs.getInt("COUNT");
        }
        stmt.close();
    } catch (SQLException sqe) {
        sqe.printStackTrace();
    }
    return size;
}
4

2 回答 2

5

将您的查询更改为

select count(*) As COUNT from USERS

或将您的函数调用更改为

rs.getInt(1);
于 2012-12-09T20:13:48.760 回答
2

在您的select 语句中为 count(*)提供别名。在mysql中,我们使用别名来命名。虽然我不知道 derby,但认为它会相似。 as

rs = stmt.executeQuery("select count(*) as count from USERS");
        while(rs.next()){
            size = rs.getInt("count");
        }
于 2012-12-09T20:13:40.587 回答