[ 1785 ] 施設予約からスケジュールSID取得
施設予約からスケジュールへ同時登録できるように改造しているのですが、新規登録は 作成することができましたが、既に登録している施設予約からスケジュールSIDを取得 するところで解決でいないところが出てきました。
施設予約の登録画面(rsv110)から、変更登録する時にスケジュールSIDを取得する方法 なのですが、スケジュールSIDをSCD_RSSIDとSCD_USR_SIDから取得します。
しかし、SchDatadao.daoのpreparaStatementでNullPointerException が発生し、問題がどうして発生しているのか判らない状況です。
[SchDataDao.dao]に追加 public SchDataModel selectSchRsvRel(SchDataModel bean) throws SQLException {
PreparedStatement pstmt = null; ResultSet rs = null; Connection con = null; SchDataModel ret = null; con = getCon();
try { //SQL文 SqlBuffer sql = new SqlBuffer(); sql.addSql(" select"); sql.addSql(" SCD_SID,"); sql.addSql(" SCD_USR_SID,"); sql.addSql(" SCD_GRP_SID,"); sql.addSql(" SCD_USR_KBN,"); sql.addSql(" SCD_FR_DATE,"); sql.addSql(" SCD_TO_DATE,"); sql.addSql(" SCD_DAILY,"); sql.addSql(" SCD_BGCOLOR,"); sql.addSql(" SCD_TITLE,"); sql.addSql(" SCD_VALUE,"); sql.addSql(" SCD_BIKO,"); sql.addSql(" SCD_PUBLIC,"); sql.addSql(" SCD_AUID,"); sql.addSql(" SCD_ADATE,"); sql.addSql(" SCD_EUID,"); sql.addSql(" SCD_EDATE,"); sql.addSql(" SCD_EDIT,"); sql.addSql(" SCE_SID,"); sql.addSql(" SCD_RSSID"); sql.addSql(" from"); sql.addSql(" SCH_DATA"); sql.addSql(" where "); sql.addSql(" SCD_RSSID = ?"); sql.addSql(" and"); sql.addSql(" SCD_USR_SID = ?"); sql.addValue(bean.getScdRsSid()); sql.addValue(bean.getScdUsrSid());
log__.error(bean.getScdRsSid()); log__.error(bean.getScdUsrSid()); log__.error(sql.toLogString());
pstmt = con.prepareStatement(sql.toSqlString()); ←ここでエラー
log__.error(pstmt);
log__.info(sql.toLogString()); sql.setParameter(pstmt); rs = pstmt.executeQuery(); if (rs.next()) { ret = __getSchDataFromRs2(rs); } } catch (SQLException e) { throw e; } finally { JDBCUtil.closeResultSet(rs); JDBCUtil.closeStatement(pstmt); } return ret; }
投稿者snip 最新書き込み2009/02/09 16:51:55
|
[ 1786 ] 施設予約からスケジュールSID取得の続き
SchDataDao.daoの呼び出し元[Rsv110Biz] RsvSisYrkModel selParam = new RsvSisYrkModel(); selParam.setRsySid(form.getRsv110RsySid()); RsvSisYrkDao yrkDao = new RsvSisYrkDao(con); selParam = yrkDao.select(selParam); ←RSY_SIDからSCD_RSSIDを取得
SchDataDao schDao = new SchDataDao(); //SCD_USR_SIDセット scdMdl0.setScdUsrSid(Integer.parseInt(form.getRsv110SelectUsrSid())); //SCD_RSSIDセット scdMdl0.setScdRsSid(selParam.getScdRsSid());
scdMdl = schDao.selectSchRsvRel(scdMdl0); ←ここでスケジュールSIDをゲット
DBAプラグインを用いて、下記ログのselect文を実行しましたが、正常に結果を取得できて います。何が悪いのか全く検討がつかない状態です。 ヒントでもかまいませんのでアドバイス頂けますよう宜しくお願い致します。m(_ _)m
----------------ここからCatalinaのlog--------------------------------------- 2009-02-09 16:25:49,890 ERROR jp.groupsession.v2.sch.dao.SchDataDao:681 - 71 2009-02-09 16:25:49,890 ERROR jp.groupsession.v2.sch.dao.SchDataDao:682 - 101 2009-02-09 16:25:49,890 ERROR jp.groupsession.v2.sch.dao.SchDataDao:683 - select SCD_SID, SCD_USR_SID, SCD_GRP_SID, SCD_USR_KBN, SCD_FR_DATE, SCD_TO_DATE, SCD_DAILY, SCD_BGCOLOR, SCD_TITLE, SCD_VALUE, SCD_BIKO, SCD_PUBLIC, SCD_AUID, SCD_ADATE, SCD_EUID, SCD_EDATE, SCD_EDIT, SCE_SID, SCD_RSSID from SCH_DATA where SCD_RSSID = 71 and SCD_USR_SID = 101
2009-02-09 16:25:49,890 ERROR jp.groupsession.v2.struts.AbstractGsAction:133 - AbstractActionで例外がスローされました。 java.lang.NullPointerException at jp.groupsession.v2.sch.dao.SchDataDao.selectSchRsvRel(SchDataDao.java:685) at jp.groupsession.v2.rsv.rsv110.Rsv110Biz.getInitData(Rsv110Biz.java:292) at jp.groupsession.v2.rsv.rsv110.Rsv110Action.__doInit(Rsv110Action.java:134) at jp.groupsession.v2.rsv.rsv110.Rsv110Action.executeAction(Rsv110Action.java:103) at jp.groupsession.v2.struts.AbstractGsAction.execute(AbstractGsAction.java:123) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
投稿者snip 最新書き込み2009/02/09 16:54:04
|