String sql = "Insert into PAYRECKON ( payreckonid , money , issuedate , operatorid , serialnumber ,
paytypeid ) values ( HIBERNATE_SEQUENCE.NextVal ,"
+ pr.getMoney()
+ " , "
+ pr.getIssuedate()
+ " , "
+ pr.getOperatorid()
+ " , '"
+ pr.getPayreckonid()
+ "' , '"
+ pr.getPaytypeid() + "' )";一开始是这样写的SQL,然后执行时报 “缺少逗号”的错误!String sql = "Insert into PAYRECKON ( payreckonid , money , issuedate , operatorid , serialnumber ,
paytypeid ) values ( HIBERNATE_SEQUENCE.NextVal ,"
+ pr.getMoney()
+ " , to_date("
+ pr.getIssuedate()
+ ",'YYYY-MM-DD HH24:MI:SS') , "
+ pr.getOperatorid()
+ " , '"
+ pr.getPayreckonid()
+ "' , '"
+ pr.getPaytypeid() + "' )";然后改成这样,加了一个to_date()函数,执行后报“java.sql.SQLException: ORA-00907: 缺失右括号”错误!这里的pr.getIssuedate() 里放的是 new Date()出来的值。望 高手 解答该如何修改~
paytypeid ) values ( HIBERNATE_SEQUENCE.NextVal ,"
+ pr.getMoney()
+ " , "
+ pr.getIssuedate()
+ " , "
+ pr.getOperatorid()
+ " , '"
+ pr.getPayreckonid()
+ "' , '"
+ pr.getPaytypeid() + "' )";一开始是这样写的SQL,然后执行时报 “缺少逗号”的错误!String sql = "Insert into PAYRECKON ( payreckonid , money , issuedate , operatorid , serialnumber ,
paytypeid ) values ( HIBERNATE_SEQUENCE.NextVal ,"
+ pr.getMoney()
+ " , to_date("
+ pr.getIssuedate()
+ ",'YYYY-MM-DD HH24:MI:SS') , "
+ pr.getOperatorid()
+ " , '"
+ pr.getPayreckonid()
+ "' , '"
+ pr.getPaytypeid() + "' )";然后改成这样,加了一个to_date()函数,执行后报“java.sql.SQLException: ORA-00907: 缺失右括号”错误!这里的pr.getIssuedate() 里放的是 new Date()出来的值。望 高手 解答该如何修改~
paytypeid ) values ( HIBERNATE_SEQUENCE.NextVal ,"
+ pr.getMoney()
+ " , to_date('"
+ pr.getIssuedate()
+ "','YYYY-MM-DD HH24:MI:SS') , "
+ pr.getOperatorid()
+ " , '"
+ pr.getPayreckonid()
+ "' , '"
+ pr.getPaytypeid() + "' )";
需要在MYECLISP里设置RESIN,有次整乱过,就没在乱试过。
new Date()出来的值 , 用你提示的这种TO_DATE()转换时会报 “(完整) 年份值必须介于 -4713 和 +9999 之间”的错误
或者把 pr.getIssuedate()值打印出来看看
paytypeid ) values ( HIBERNATE_SEQUENCE.NextVal ,"
+ pr.getMoney()
+ " , to_date('"
+ pr.getIssuedate()
+ "', 'YYYY-MM-DD HH24:MI:SS') , "
+ pr.getOperatorid()
+ " , '"
+ pr.getPayreckonid()
+ "' , '"
+ pr.getPaytypeid() + "' )"; System.out.println(sql); //打出来看一眼,看看日期的值和格式匹配不,必须一定要求是yyyy-mm-dd hh24:mi:ss 的格式才能正常匹配to_date(..., 'YYYY-MM-DD HH24:MI:SS')这样的格式应该是new java.util.Date()出来的日期格式和yyyy-mm-dd hh24...不匹配导致的
System.out.println(t);
System.out.println( new java.text.SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date()));
System.out.println( new java.text.SimpleDateFormat("HH:mm:SS").format(new java.util.Date()));
}output结果:Wed Sep 10 16:36:54 CST 2008
2008-09-10
16:36:734
由于是NEW DATE()出来的,所以即使是 HH24:MI也不匹配,可以用pr.getIssuedate().toLocalString()转一下,不过这样还是报 缺少括号的错误