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 番目の列は 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 に答える