我在写JAVA代码的时候用
               SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
       String dateupt = dateFormat.format(new Date()); 
       Date t = dateFormat.parse(dateupt);
来取系统当前日期
              然后用定义两个ARRAYLIST vals types 分别用于传递数据值 和值得类型
              vals.add(t);
              types.add(new BigDecimal(Types.DATE));把vals types 作为参数传递给SQL语句用于更新数据库。数据库中字段类型是DATE型的(是ORACLE数据库)
              但是每次坐更新和插入的时候总是报vals 和types中该字段的类型不一致。请问这个该如何更改。

解决方案 »

  1.   

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    String dateupt = dateFormat.format(new Date());
    Date t = dateFormat.parse(dateupt);
    ArrayList vals = new ArrayList();
    ArrayList types = new ArrayList();
    vals.add(t);
    System.out.println(vals);
    types.add(new BigDecimal(Types.DATE));
    System.out.println(types);
    输出的结果:
    Date:[Mon May 15 00:00:00 CST 2006]
    Date Type:[91]
    java中的Date类型与oracle中的Date类型是不是一样的呢?
      

  2.   

    什么叫类型一样不一样,你说的是日期的格式吧
    oracle里可以设置日期格式的,就是说你把从JSP里传过来的日期变量javadate写到oracle数据库时可以用oracle的日期函数
    这里假设date是oracle日期类型。
    update table set date=TO_DATE(javadate,'dd-mm-yyyy');
    你试试
      

  3.   

    直接往oracle的日期字段里插入数据是不行的。肯定会报错。
    要么你将oracle日期字段改成varchar
    要么先用to_date()转换一下再插入