public void setValues(PreparedStatement ps)throws SQLException {    

 ps.setString(1, clientPro.getPdid());
 ps.setString(2, clientPro.getPmid());  
 ps.setInt(3, clientPro.getPdtypeid());   
 ps.setDate(4,Date.valueOf(clientPro.getStartdate().toString()));  
 ps.setDate(5, Date.valueOf(clientPro.getEnddate().toString()));
 ps.setInt(6, clientPro.getPstatus());  
 ps.setDate(7, Date.valueOf(clientPro.getSoftenddate().toString()));
  
 }异常:
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Date.java:103)
at com.caifu.info.dao.impl.ClientProDaoImpl$4.setValues(ClientProDaoImpl.java:139)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:742)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:537)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:738)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:796)
at com.caifu.info.dao.impl.ClientProDaoImpl.update(ClientProDaoImpl.java:133)
at com.caifu.info.service.impl.ClientProServiceImpl.update(ClientProServiceImpl.java:76)
at com.caifu.info.action.ClientProAction.getUpdate(ClientProAction.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWork