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

在PreparedStatement中使用setDate

在PreparedStatement中使用setDate

慕尼黑的夜晚无繁华 2019-07-17 16:15:54
在PreparedStatement中使用setDate为了使我们的代码更加标准,我们被要求将硬编码SQL变量的所有位置更改为准备好的语句并绑定变量。然而,我面对的问题是setDate().以下是代码:        DateFormat dateFormatYMD = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");         DateFormat dateFormatMDY = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");         Date now = new Date();         String vDateYMD = dateFormatYMD.format(now);         String vDateMDY = dateFormatMDY.format(now);         String vDateMDYSQL =  vDateMDY ;         java.sql.Date date = new java.sql.Date(0000-00-00);    requestSQL = "INSERT INTO CREDIT_REQ_TITLE_ORDER (REQUEST_ID," +                  " ORDER_DT, FOLLOWUP_DT) " +  "values(?,?,?,)";                 prs = conn.prepareStatement(requestSQL);                 prs.setInt(1,new Integer(requestID));                 prs.setDate(2,date.valueOf(vDateMDYSQL));                 prs.setDate(3,date.valueOf(sqlFollowupDT));当SQL被执行时,我会得到这个错误:    java.lang.IllegalArgumentException     at java.sql.Date.valueOf(Date.java:138)     at com.cmsi.eValuate.TAF.TAFModuleMain.CallTAF(TAFModuleMain.java:1211)我应该用setString()而代之以to_date()?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1201 浏览
慕课专栏
更多

添加回答

举报

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