/** * <br> * [機 能] 指定したアンケートの対象人数を取得する <br> * [解 説] <br> * [備 考] * * @param emnSid アンケートSID * @param eqmSeq 設問連番 * @return 対象者件数 * @throws SQLException SQL実行時例外 */ public int[] getAnswerCount(long emnSid, int eqmSeq) throws SQLException { PreparedStatement pstmt = null; ResultSet rs = null; Connection con = null; int[] result = new int[3]; con = getCon(); try { // SQL文 SqlBuffer sql = new SqlBuffer(); sql.addSql(" select "); sql.addSql(" count(EMN_SID) as CNT"); sql.addSql(" from"); sql.addSql(" ENQ_ANS_MAIN"); sql.addSql(" where"); sql.addSql(" EMN_SID = ?"); sql.addLongValue(emnSid); log__.info(sql.toLogString()); pstmt = con.prepareStatement(sql.toSqlString()); sql.setParameter(pstmt); rs = pstmt.executeQuery(); if (rs.next()) { result[0] = rs.getInt("CNT"); } JDBCUtil.closeResultSet(rs); JDBCUtil.closePreparedStatement(pstmt); sql = new SqlBuffer(); sql.addSql(" select"); sql.addSql(" count(distinct USR_SID) as ANSCNT"); sql.addSql(" from"); sql.addSql(" ENQ_ANS_SUB"); sql.addSql(" where"); sql.addSql(" EMN_SID = ?"); sql.addSql(" and"); sql.addSql(" EQM_SEQ = ?"); sql.addSql(" and"); sql.addSql(" EAS_ANS is not null "); sql.addSql(" and"); sql.addSql(" EAS_ANS <> ''"); sql.addLongValue(emnSid); sql.addLongValue(eqmSeq); log__.info(sql.toLogString()); pstmt = con.prepareStatement(sql.toSqlString()); sql.setParameter(pstmt); rs = pstmt.executeQuery(); if (rs.next()) { result[1] = rs.getInt("ANSCNT"); if (result[0] > 0) { result[2] = result[0] - result[1]; } } } catch (SQLException e) { throw e; } finally { JDBCUtil.closeResultSet(rs); JDBCUtil.closeStatement(pstmt); } return result; }