Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】
Viewing all articles
Browse latest Browse all 68675

ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています

$
0
0
<エラーメッセージの内容> ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています 開発言語は、java,oracle10g express editionです スケジュールを登録する画面のところの日付のインサートで失敗します。「→」の部分です。 <以下のSQLをSQL/PLUSで実行するとうまくいきます> insert into schedule values(1, 1, '予定1', '予定1です', TO_DATE('2009-06-01 10:00','YYYY/MM/DD HH24:MI:SS') , TO_DATE('2009-06-01 12:00','YYYY/MM/DD HH24:MI:SS'), 'A社', '予定1のコメントです。',1); <問題のソースコード> * スケジュール情報をデータベースに新規保存する public void create(Schedule schedule) { String sql = "insert into " + SCHEDULE_TABLE_NAME + " (id, user_id,subject,content, start_time, end_time, place, comment1, is_publish) values(?,?,?,?,?,?,?,?,?)"; Connection con = null; try { con = createConnection(); con.setAutoCommit(false); int id = getNextId(con, SCHEDULE_TABLE_NAME); PreparedStatement stmt = con.prepareStatement(sql); →stmt.setString(5,toString(schedule.getStartTime())); →stmt.setString(6, toString(schedule.getEndTime())); * 日付を文字列表現(yyyy-MM-dd HH:mm)に変換する private String toString(java.util.Date date) { SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm"); →return "TO_DATE('"+"'"+sd.format(date)+"'"+",'YYYY/MM/DD HH24:MI:SS'"+")"; } ネット、本などでいろいろ調べましたが、わからなかったので、ヒントになることでもいいので、ご教授よろしくお願いします。

Viewing all articles
Browse latest Browse all 68675

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>