开发者社区> 问答> 正文

JFinal使用oracle,数据库中Date字段插入问题?报错

使用JFinal过程中,发现数据库中的Date类型的数据通过JFinalRecord record = new Record();这样set进去报错,提示:

com.jfinal.plugin.activerecord.ActiveRecordException: java.sql.SQLDataException: ORA-01858: 在要求输入数字处找到非数字字符

各种办法都试了,
1、record.set("AC_CREATED", "TO_DATE('2007-12-20 18:31:34','yyyy-mm-dd,hh24:mi:ss')");
2、record.set("AC_CREATED", "sysdate");
3、record.set("AC_CREATED", new Date());

请问大家,怎样处理?把数据库字段类型修改成varchar2?@JFinal

展开
收起
爱吃鱼的程序员 2020-06-22 19:48:45 851 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    ar是透传jdbc的。没有做任何自作主张的处理。

    你用Jdbc是怎么处理还是该怎么处理。这是数据库本身的行为。oracle的时间类型是非常恶心的。。

    我觉得很灵活

    format成字符串格式

    比如 record.set("AC_CREATED","2013-04-3016:28:00");

    不行啊!。还是报错。com.jfinal.plugin.activerecord.ActiveRecordException:java.sql.SQLDataException:ORA-01858:在要求输入数字处找到非数字字符

    嘛~jfinal我不熟,但是jdbc的话:

    record.set("AC_CREATED",newDate() );

    这个date字段类型你用sql包的试下吧,不要用util的!

    请问问题解决了么?回复@moke44@sohu.com:正解newjava.sql.Timestamp(newjava.util.Date().getTime())

    http://www.tbdazhe.com/archives/462

    这是关于java与oracle时间之间的关系: java向ORACLE插入时间,应该对你有帮助。

    发现一个新问题,Oracle中,表字段名一定要大写。否则插入不了日期。困扰两天,引以为鉴啊!可有人解决,遇到了同样问题,时间插入有点难

    引用来自“overtake”的评论

    可有人解决,遇到了同样问题,时间插入有点难
    2020-06-22 19:49:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像