とき、JDBC、Oracleデータベースのストレージとアクセス時間フィールド分、秒を表示することができません。

データベースアクセス時間フィールドについてのみ、日付(日付)時間を取得することはできません(分、秒)を表示問題は、この問題のために分析を行い、解決策を見つけるためにここに、比較的一般的な問題です。

この問題は、その理由を発生します。

       java.util.Dateタイプ以来、彼らは分と秒を持っているが、これはデータベースにクラスでのJavaの型だけではなく、時間データベースタイプ、直接ではなくですが、それだけでデータベースに保存されている使用済みのjava.sql.Dateすることができますが、それ日付と時間がないだけ。

問題解決:

      方法a:をjava.sql.TimestampにA java.util.Date

          パブリックたjava.sql.Timestamp getTimestamp(日付){
                リターン新をjava.sql.Timestamp(date.getTime());
          }

     方法2:書き込みSQLステートメント日付パラメータTO_DATE()関数で形質転換しました      

String sql =" UPDATE  tablename  SET state=?,deal_date=to_date(?,'yyyy-mm-dd hh24:mi:ss')  where id=?

              Connection conn = null;
              PreparedStatement ps = null;
   try {
              Date date = new java.util.Date();
              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
              String formatdate = sdf.format(date);//获取格式化日期,带有时分秒

              conn = getConnection();
	          ps = conn.prepareStatement(sql);
              ps.setString(1, state);
              ps.setString(2,formatdate);
              ps.setLong(3,Long.valueOf(id));
              ps.executeUpdate();
        } catch(Exception e) {
	        	e.printStackTrace();
	    }finally {
	            cleanUp(conn, null, ps, null);
	        }

 

 

公開された118元の記事 ウォン称賛59 ビュー490 000 +

おすすめ

転載: blog.csdn.net/u012255097/article/details/104211884