将Date类型的数据存入数据库

在web开发中有时需要将表单中数据已Date类型存入数据库。
1:在form表单中

<form  action="addgameservlet" method="post" >
            <table align="center">

             <tr height="35px">
                <td>报名开始时间
                </td>
                <td>
                  <input type="text" name="gametime"></input>*格式:YYYY.MM.DD<br/>
                </td>
              </tr>
             <tr height="35px">
                <td>报名截止日期
                </td>
                <td>
                  <input type="text" name="enrolldeadline"></input>*格式:YYYY.MM.DD<br/>
                </td>
              </tr>
             </table>
        </form>

2:在servlet中进行接收

public class addgameservlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("gb2312");
        response.setCharacterEncoding("gb2312");
        PrintWriter out = response.getWriter();
        Date gamdate = null;
        Date enrolldeadline = null;
        try {
//将String类型的数据解析成java.util.Date类型 new SimpleDateFormat("yyyy-MM-dd").prase(str);
            gamdate = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("gametime"));
            enrolldeadline = new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("enrolldeadline"));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        response.setContentType("text/html");
        Game g = new Game();
        AdminMgrImpl adi = AdminMgrImpl.getInstance();
        g.setEnrolldeadLine(enrolldeadline);
        g.setGametime(gamdate);
        if(adi.addGame(g)) {
            response.sendRedirect("admin/gamelist.jsp");
        }
        else{
            out.write("添加失败");
        }
        out.flush();
        out.close();
    }

}

3.存入数据库

public boolean addGame(Game game) {
        int row = 0;
        String SQL = "insert into game(gametime,enrolldeadline)"
                + " values(?, ?)";
        Connection con = DB.getCon();
        PreparedStatement ps = DB.getPre(con, SQL);
        try {
//将java.util.Date类型的数据转换成java.sql.Date类型   nwe java.sql.Date((new java.util.Date()).getTime());
            ps.setDate(1, new java.sql.Date(game.getGametime().getTime()));
            ps.setDate(2, new java.sql.Date(game.getEnrolldeadLine().getTime()));
            row = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DB.close(con, ps, null);
        }

        if(row>0) 
            return true;
        else 
            return false;

    }

4:这样就可以将表单中的数以Date类型的形式存入数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值