A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张昶 中级黑马   /  2013-12-10 16:36  /  1382 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class AddFileAction extends ActionSupport {
    private String id;
    private String title;
    private String abstracts;
    private String depart;
    private Date getTime;
    private Date setTime;
   
    public String addFile() throws Exception {
        FileDAO dao = new FileDAO();
        boolean flag = dao.findFile(id);
        if (flag) {
            ActionContext.getContext().put("message","文件编号已存在!");
            return "input";
        }
        Files files = new Files();
        files.setId(id);
        files.setTitle(title);
        files.setAbstracts(abstracts);
        files.setDepart(depart);
        files.setGetTime(getTime);
        files.setSetTime(setTime);
        int i = dao.save(files);
        if (i>0) {
             return "success";
        } else {
            ActionContext.getContext().put("message","添加失败!");
            return "input";
        }
    }

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getAbstracts() {
        return abstracts;
    }
    public void setAbstracts(String abstracts) {
        this.abstracts = abstracts;
    }
    public String getDepart() {
        return depart;
    }
    public void setDepart(String depart) {
        this.depart = depart;
    }
    public Date getGetTime() {
        return getTime;
    }
    public void setGetTime(Date getTime) {
        this.getTime = getTime;
    }
    public Date getSetTime() {
        return setTime;
    }
    public void setSetTime(Date setTime) {
        this.setTime = setTime;
    }
}
这是action里面的代码(日期的类型是:jav.util.*;的)。。。。。。。。

public int save(Files files) {
        int i = 0;
        conn = DatabaseDAO.getConnection();
        try {
            ps = conn.prepareStatement("insert into file(id,title,abstracts,depart,getTime,setTime) values(?,?,?,?,?,?)");
            ps.setString(1,files.getId());
            ps.setString(2,files.getTitle());
            ps.setString(3,files.getAbstracts());
            ps.setString(4,files.getDepart());
            ps.setDate(5,(Date)files.getGetTime());
            ps.setDate(6,(Date)files.getSetTime());
            i = ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DatabaseDAO.closePs(ps);
            DatabaseDAO.closeConn(conn);
        }
        return i;
    }
这是DAO里面的代码。。。。。。。。

问题:用户在浏览器上输入2013-12-12的日期,然后向存进数据库里面。可不知道怎么在DAO里面写代码?
上面的 ps.setDate(5,(Date)files.getGetTime())和 ps.setDate(6,(Date)files.getSetTime());中的“(Date)”,是java.sql.*;的。
运行后出现图2的问题。

1.jpg (38.4 KB, 下载次数: 11)

1

1

2.jpg (53.98 KB, 下载次数: 13)

2

2

2 个回复

倒序浏览
我的做法是,在数据库里直接存字符串,很好处理。并且在表单的时间输入里做好数据校验.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马