sql统计系统时间那一个月数量_关于BE00007图书借阅管理系统bug修复总结

引言:昨日我重新审视了B-E00007-基于Java web的图书借阅管理系统的bug问题,主要是借阅图书和归还图书的bug问题,这两个借阅日期和归还日期不太准确,以及借阅后图书数量未发生变化,所以对代码进行了维护和 升级。

1.bug一:图书借阅数量

未修复前:图书借阅之后数量不会发生变化。

9d75de1fad2e819d62ff300a13120286.png

修复后:用户默认借阅一本则数量发生变化,借一本少一本。

e0b5ee1b6d5ef979ef744f0206b1f5f4.png

2.bug二:借阅信息

未修复前:图书借阅之后借阅日期和截至还书日期错误,推迟了一个月,默认借阅日期为一个月。

9dab455202925a7d59be1213f58a24aa.png

修复后:图书借阅信息日期和截至还书日期都发生了变化,采用了时间更为精确。

ba222ebbcb6a7bd3884cb0bbbd3dfa4c.png

3.bug三:借阅历史

未修复前:图书借阅之后借阅日期和还书日期都有错误,还书日期未加1。

b93b79065825892f9814a0b4f773ae90.png

修复后:图书借阅信息日期和还书日期都发生了变化,采用了时间更为精确。

0ea16a9366355fb20d13d447d9f17de9.png

4.总结

使得程序更为严谨准确,那么如何修复这些bug,实际上改变了一段代码,这里对日期进行了处理,对于一些同学来说日期是一个头疼的问题,因此,在这里通过Java的Calendar对象来对日期时间进行操作,而且在这里使用jdbc执行了两条sql语句,一个stm也就是PreparedStatement接口实例化的对象是默认执行一条sql语句的,所以在一个方法里面如果想使用jdbc执行两条sql就需要实例化两个stm对象,这对大家学习和开发都是很有帮助的哦!!!

public void borrowBook(int bid, AdminBean adminbean) {

BookBean bookbean = new BookBean();

bookbean = this.get_BookInfo(bid);

//生成时间的功能

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Calendar c = Calendar.getInstance();       

        c.setTime(new Date());

        Date d = c.getTime();       

        String startDate = format.format(d);

        c.setTime(new Date());

        c.add(Calendar.MONTH, +1);

        Date m = c.getTime();

        String endtime = format.format(m);

Connection conn = DBUtil.getConnectDb();

String sql =

"insert  into history

(aid,bid,card,bookname,adminname,username,begintime,endtime,status) values(?,?,?,?,?,?,?,?,?)";

String sql2 = "update book set num=? where bid=? ";

int rs =0 ;

try {

PreparedStatement stm = conn.prepareStatement(sql);//执行sql语句

stm.setInt(1, adminbean.getAid());

stm.setInt(2, bookbean.getBid());

stm.setString(3, bookbean.getCard());

stm.setString(4, bookbean.getName());

stm.setString(5, adminbean.getUsername());

stm.setString(6, adminbean.getName());

stm.setString(7, startDate);

stm.setString(8, endtime );

stm.setInt(9, 1);

rs=stm.executeUpdate();

PreparedStatement stm2= conn.prepareStatement(sql2);

stm2.setInt(1, bookbean.getNum()-1);

stm2.setInt(2, bookbean.getBid());    

rs=stm2.executeUpdate();

conn.commit();

} catch (SQLException e) {

e.printStackTrace();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值