1

こんにちは私は、作業中のユーザープロファイルテーブル内のユーザーの総数のカウントを取得することを想定したJavaコードに取り組んでいます。これで、SQLステートメントが正しく取得されたと確信していますが、何らかの理由で、SQLステートメントから数値を取得する方法がわかりません。どんな助けでも大歓迎です。私が値を取得しようとしている方法は機能しないと確信していますが、値を取得する方法がわかりません。以下のコードをご覧ください。ありがとうございます。

     public int getUserCount() throws SQLException {    

    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    double encinfo;
    conn = DAOFactory.getDatabaseDAO().getConnection();
        StringBuffer query = new StringBuffer();
        query.append( "Select COUNT (DISTINCT record_id)");
        query.append( "From USER_PROFILE");
        stmt = conn.createStatement();
        rs = stmt.executeQuery( query.toString());
        if (!rs.next())
           throw new SQLException( SQLException.User_NOT_FOUND,"No User Count found.");

        // Should be able to get the user amount or value or total users in DB.
        userInfo = rs.getDouble( "USER_VALUE");

        m_userCount = (int) userInfo;
   }
4

2 に答える 2

7

これはうまくいくかもしれません:

レコード数にエイリアスを追加します。

  query.append( "Select COUNT (DISTINCT record_id) AS USER_VALUE");
        query.append( " From USER_PROFILE");

別の方法は次のとおりです。

rs.getDouble(1);

ここで、1は列のインデックスです。

于 2012-11-12T21:52:07.843 に答える
3
rs.getDouble(1);

1つの列があるため、現在の行と1番目の列の値が返されます

于 2012-11-12T21:56:32.200 に答える