为了账号安全,请及时绑定邮箱和手机立即绑定

关于用jdbc向数据库插入date字段为空值的 为什么 会报错

关于用jdbc向数据库插入date字段为空值的 为什么 会报错

沧海一幻觉 2019-04-26 10:19:26
这是抛出来的异常 求大神救命。。!java.sql.SQLException: 无效的列类型at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)这是抛出异常的代码片段。public void addAccount(Account a)      throws DAOException, SQLException {     if(a == null)         return;     String sql = "insert into ACCOUNT " +             "values(account_seq1.nextval,?,?,?,'0',SYSDATE,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";     Connection con =          DButil.getConnection();     try {         PreparedStatement ps =              con.prepareStatement(sql);         int index = 1;       //Integer 类型                 ps.setObject(index++, a.getRecommenderId());         ps.setObject(index++, a.getLoginName());       ps.setObject(index++, a.getLoginPassword());      //这里用setObject不行用setDate也不行,setDate 的字段java里面是        //sql.date 类型,其余都是string类型                        ps.setDate(index++, a.getPauseDate());            ps.setDate(index++, a.getCloseDate());         ps.setObject(index++, a.getRealName());         ps.setObject(index++, a.getIdcardNo());         ps.setDate(index++, a.getBirthdate());         ps.setObject(index++, a.getGender());         ps.setObject(index++, a.getOccupation());         ps.setObject(index++, a.getTelephone());         ps.setObject(index++, a.getEmail());         ps.setObject(index++, a.getMailaddress());         ps.setObject(index++, a.getZipcode());         ps.setObject(index++, a.getQq());                //java中都是Date sql 的类型         ps.setDate(index++, a.getLastLoginTime());         ps.setObject(index++, a.getLastLoginIp());         ps.executeUpdate();     } catch (SQLException e) {         e.printStackTrace();         throw new DAOException(                 "新增账务账号失败!", e);     } finally {         DButil.Close();     } }为什么
查看完整描述

5 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

26
两个都不行,要疯了。 什么原因 怎么解

查看完整回答
反对 回复 2019-05-06
?
DIEA

TA贡献1820条经验 获得超2个赞

int index = 1;

System.out.println(index++);永远是 1


查看完整回答
反对 回复 2019-05-06
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

建议把生成的sql 到数据库执行一下


查看完整回答
反对 回复 2019-05-06
  • 5 回答
  • 0 关注
  • 3407 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信