jsp页面的表单提交的日期怎样提交到数据库
使用dao方法中的insert()方法ps.setDate(3,newjava.sql.Date(project.getStartDate().getTime()));s...
使用dao方法中的insert()方法
ps.setDate(3, new java.sql.Date(project.getStartDate().getTime()));
s.setDate(3, new java.sql.Date(new java.util.Date().getTime()));
<input type="text" name="startDate"'/>
为什么插入指定日期会报空指针。
java.lang.NullPointerException
at com.tarena.memory.dao.ProjectDao.insert(ProjectDao.java:76)
at com.tarena.memory.action.ProjectCreateAction.execute(ProjectCreateAction.java:11)
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)
public void insert(Project project){Connection conn = null;PreparedStatement ps = null;try{conn = ConnectionUtils.getConnection();ps = conn.prepareStatement("insert into t_project(t_no,t_name,t_start_date,t_end_date) values(?,?,?,?) ");ps.setString(1, project.getNo());ps.setString(2, project.getName());
ps.setDate(3, new java.sql.Date(project.getStartDate().getTime()));
ps.setDate(4, new java.sql.Date(project.getEndDate().getTime()));
ps.executeUpdate();}catch(Exception e){e.printStackTrace();}} 展开
ps.setDate(3, new java.sql.Date(project.getStartDate().getTime()));
s.setDate(3, new java.sql.Date(new java.util.Date().getTime()));
<input type="text" name="startDate"'/>
为什么插入指定日期会报空指针。
java.lang.NullPointerException
at com.tarena.memory.dao.ProjectDao.insert(ProjectDao.java:76)
at com.tarena.memory.action.ProjectCreateAction.execute(ProjectCreateAction.java:11)
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)
public void insert(Project project){Connection conn = null;PreparedStatement ps = null;try{conn = ConnectionUtils.getConnection();ps = conn.prepareStatement("insert into t_project(t_no,t_name,t_start_date,t_end_date) values(?,?,?,?) ");ps.setString(1, project.getNo());ps.setString(2, project.getName());
ps.setDate(3, new java.sql.Date(project.getStartDate().getTime()));
ps.setDate(4, new java.sql.Date(project.getEndDate().getTime()));
ps.executeUpdate();}catch(Exception e){e.printStackTrace();}} 展开
3个回答
展开全部
基本思路就是接收表单提交的字符串,进行格式化转换为Date,用预处理语句插入数据库
步骤
表单提交
<input type="text" name="date" />
格式化转换
String str = request.getPramater("date");
Date date = new SimpleDateFormat("yyyy-MM-dd").format(str);
预处理语句
PreparedStatement ps = 连接.prepareStatement("insert into 表 values(?,?)");
ps.setInt(1,1);
ps.setDate(new java.sql.Date(date.getTime()));
ps.executeUpdate();
注:
使用SimpleDateFormat时会抛出异常,注意try-catch;
代码是手敲的,可能有个别类名有错
展开全部
达内的项目么?
把这ProjectDao类的insert方法贴出来,包括行号
com.tarena.memory.dao.ProjectDao.insert
追问
已经补充的,好像是达内的.
追答
没有行号,截图比代码好看
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你JSP页面传输过去的是文本类型的 需要转
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询