- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:prepareStatementのデータ型の設定について)
prepareStatementのデータ型の設定について
このQ&Aのポイント
- Oracleでスケジュールの公開判断をするためには、is_publishというデータ型を作成します。このデータ型はtrueかfalseの値を持ち、NUMBER(1)のNOT NULL制約が設定されます。
- StrutsのActionFormにはisPublishという変数があり、この変数に値を設定したり取得したりするためにsetterとgetterが作成されています。
- ScheduleDAO.javaのcreateメソッドでは、スケジュールデータをデータベースに挿入するためのSQL文が作成されます。is_publishの値をPreparedStatementの9番目のパラメータに設定しようとしていますが、setIntメソッドでIntやInteger型の引数を受け取ることができずエラーが発生しています。
- みんなの回答 (4)
- 専門家の回答
補足
gigamacさんご回答ありがとうございます。 教えていただいたとおり一部はうまくいきましたが、 また新たな問題にあたっています。 if (s.getUserId()!=user.getId()&&!s.isPublish().intValue()) の行でコンパイルエラーに なります 演算子!は引数の型intで未定義です <CalendarLogic.java> public class CalendarLogic { private static ScheduleDAO scheduleDAO = new ScheduleDAO(); public static MonthCalendar getCalendar(User user, int year, int month) { // スケジュールの読み込み ArrayList schedules = scheduleDAO.findByDate(year, month, i); // ログイン中ユーザではなく非公開なら削除 Iterator ite = schedules.iterator(); while(ite.hasNext()) { Schedule s = (Schedule)ite.next(); if (s.getUserId()!=user.getId()&&!s.isPublish().intValue()) { ite.remove(); } } date.setSchedules(schedules); ご教授よろしくお願いします。