当我更新我的日期提交不更新。我使用mysql数据库
问题描述:
qr=ss.createQuery("update Adddata set std_name='" +
request.getParameter("std_name") + "',std_sex='" +
request.getParameter("std_sex")+ "',std_mob='" +
request.getParameter("std_mob")+ "',std_email='" +
request.getParameter("std_email")+ "',std_course='" +
request.getParameter("std_course")+ "',std_add='" +
request.getParameter("std_add")+ "',std_fname='" +
request.getParameter("std_fname")+ "',std_date='" +
request.getParameter("std_date")+"'
where stid ='"+request.getParameter("std_id")+"'");
答
Mysql的默认日期格式是yyyy-mm-dd
。
请检查您的request.getParameter("std_date")
价值日期格式。
如:日期:2017-10-20
更新HQL查询
Query query = session.createQuery("update Adddata set std_name= :stdname" +
" ,std_sex = :stdsex "+
... //do the same for other values
" ,std_date = :stddate"
" where stid = :stdid");
query.setParameter("stdname", request.getParameter("std_name"));
query.setParameter("stdsex", request.getParameter("std_sex"));
... //do the same for other values
设置日期值
query.setDate("stddate", request.getParameter("std_date"));
,或者如果你考虑的时间也
query.setTimestamp("stddate", dateObj)
query.setParameter("stdid", request.getParameter("std_id"));
int result = query.executeUpdate();
的request.getParameter值日期格式是yyyy- mm-dd.so我如何使用HQL查询使用这种格式更新我的日期,给我充分的描述。 –
检查编辑的答案。更多信息[HQL更新日期](https://stackoverflow.com/questions/291620/how-to-assign-date-parameters-to-hibernate-query-for-current-timezone) – Asha