0

我是 Java 初学者,但我有以下代码

limit = con.prepareStatement("SELECT COUNT(*) FROM San_CadastraDigital WHERE Cliente_Id = ?");


public String Verify(String client) {
    try {
        limit.setString(1, client);
        ResultSet rs = limit.executeQuery();

        while (rs.next()) {
            int limitDigital = rs.getInt(0);            
            if (limitDigital < 3) {
                return "1";
            } else {
                return "0";
            }
        }
    } catch (SQLException e) {
        ui.writeLog(e.getMessage());
        return "0";
    }

    return "0";
}

但我收到一个错误,指出索引 0 中的列超出范围。

我的查询在我的数据库中运行良好。

我怎样才能得到我的查询结果?

4

2 回答 2

2

根据ResultSet#getInt(int) 的 API 文档

columnIndex -第一列为 1,第二列为 2,...

于 2012-07-26T18:38:06.813 回答
-1

试试这个:

        if(!rc.first())
        {
          //no rows
          return "0";
        }

        do {
            int limitDigital = rs.getInt(0);            
            if (limitDigital < 3) {
                return "1";
            } else {
                return "0";
            }
        } while (rs.next())

我认为您正在使用 rs.next() 移动光标并跳过第一个结果。

于 2012-07-26T17:52:15.493 回答