访问查询结果

时间:2012-07-26 17:49:25

标签: java jdbc

我是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中的列超出了范围。

我的查询在我的数据库中正常工作。

如何获得查询结果?

2 个答案:

答案 0 :(得分:2)

根据API docs for ResultSet#getInt(int)

  

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

答案 1 :(得分:-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()移动光标并跳过第一个结果。