借阅排行查询:需要访问tb_cntborrow表,这是用来记录所借图书借阅量的表,表中记录的产生是在用户借阅图书时,同时更新tb_cntborrow表中,该图书编号对应的借阅数量。当用户点击“借阅排行”时,按借阅量降序显示。 内容来自论文无忧网 www.paper51.com 更新借阅量关键代码如下: paper51.com
paper51.com
string strcnt="select * from tb_cntborrow where bookid='"+id+"'";//表中是否已存在该图书 内容来自论文无忧网 www.paper51.com
…………//如果有,则借阅量+1更新 内容来自www.paper51.com { copyright paper51.com …………………… 内容来自www.paper51.com string ordnum=sdrstr["ordernum"].ToString(); paper51.com int ordtim=int.Parse(ordnum)+1; paper51.com string updtcnt="Update tb_cntborrow set ordernum='"+ordtim+"' where bookid='"+id+"'"; 内容来自www.paper51.com
……………………} copyright paper51.com Else//如果该编号图书不存在,插入图书信息,借阅量设为1 paper51.com {………… http://www.paper51.com string strin="insert into tb_cntborrow (bookid,bookname,ordernum)values('"+id+"','"+bkname+"','1')"; 内容来自www.paper51.com ………… copyright paper51.com copyright paper51.com
copyright paper51.com 借阅超期查询:访问超期信息表tb_overborrow,该表的产生在后面的章节中介绍。 paper51.com 新书查询:访问新书信息表tb_newbook。系统规定15天内到馆的图书为新书,新书入库时,系统将新书信息加入该表,在用户页面加载时,删除表内到馆时间超过15天的图书,剩下的即为新书,关键代码如下: 内容来自论文无忧网 www.paper51.com
copyright paper51.com
string strComm="select * from tb_newbook";……………… 内容来自www.paper51.com DateTime t1=DateTime.Parse(tim); 内容来自论文无忧网 www.paper51.com TimeSpan ts=DateTime.Now-t1; paper51.com
int n=ts.Days; copyright paper51.com if(n>15) http://www.paper51.com { string strComm1="delete from tb_newbook where intime='"+tim+"'"; paper51.com
……………… } 内容来自论文无忧网 www.paper51.com
copyright paper51.com copyright paper51.com 4.3.3 数据管理模块 copyright paper51.com 该模块主要是系统在实现特定功能时,对相关数据表的更新操作,以及根据需要对数据库中的数据进行删除或修改。 paper51.com 内容来自www.paper51.com 图4-8 数据管理模块 paper51.com 预订:首先查找tb_book表中是否有该图书,如果没有,弹出提示信息;如果有,下一步就在tb_user表中查找登录用户,即Session[“User”]的学历,不同的学历允许不同的预订数量,再从tb_reserve预订信息表中查找到该用户的预订数量,如果已达到允许量,则不能继续预订;否则可预订,首先根据需要更新图书暂存信息表tb_bkcache,再将相关信息插入tb_reserve表,并对tb_book表中该编号图书的信息作更新。 paper51.com 以用户学历是本科为例,允许预订数量为2本,实现预订的关键代码如下: paper51.com 内容来自www.paper51.com ………… paper51.com string strsel="select * from tb_book where bookid='"+id+"' "; http://www.paper51.com //判断该书是否已被预订、借阅完 copyright paper51.com
………… http://www.paper51.com
if(!sd.Read()) 内容来自论文无忧网 www.paper51.com
{ paper51.com Response.Write("<script>alert(\"书已借完\");</script"); copyright paper51.com } 内容来自论文无忧网 www.paper51.com
………… copyright paper51.com string strdgr=ds.Tables["tb_user"].Rows[0]["degree"].ToString();//用户学历 paper51.com …… 内容来自论文无忧网 www.paper51.com int num=(int)Comm3.ExecuteScalar();//已预订数量 http://www.paper51.com ………… 内容来自www.paper51.com if(strdgr=="本科") { http://www.paper51.com if(num<2)//满足预订条件,对相关表进行操作 http://www.paper51.com ………… 内容来自论文无忧网 www.paper51.com lb_msg.Text="您已预订";//已达到允许预订量 http://www.paper51.com txb_msg.Text=num.ToString(); 内容来自www.paper51.com
lb_msg2.Visible=true; http://www.paper51.com lb_msg2.Text="本!"; 内容来自论文无忧网 www.paper51.com ………… copyright paper51.com 借阅:不同学历有借阅数量限制,功能实现部分代码跟预订类似,不再累述。所不同的是,借阅后,会更新借阅数量表tb_cntbook,同时,将相关信息插入用户借阅历史表tb_brohistory。更新tb_cntborrow的关键代码如下: paper51.com
paper51.com
…………… http://www.paper51.com string strcnt="select * from tb_cntborrow where bookid='"+id+"'";//表中是否已存在该图书 paper51.com …………//如果有,则借阅量+1更新 copyright paper51.com
{ 内容来自www.paper51.com …………………… 内容来自论文无忧网 www.paper51.com
string ordnum=sdrstr["ordernum"].ToString(); 内容来自www.paper51.com
int ordtim=int.Parse(ordnum)+1; 内容来自www.paper51.com string updtcnt="Update tb_cntborrow set ordernum='"+ordtim+"' where bookid='"+id+"'"; http://www.paper51.com ……………………} 内容来自www.paper51.com Else//如果该编号图书不存在,插入图书信息,借阅量设为1 http://www.paper51.com {…………………… paper51.com String strin="insert into tb_cntborrow (bookid,bookname,ordernum)values('"+id+"','"+bkname+"','1')"; 内容来自论文无忧网 www.paper51.com ……………………} 内容来自论文无忧网 www.paper51.com 归还图书:如果是超期图书,用户不能自行归还,须由管理员处理,借阅时间超过30天,为超期图书;如果没有超期,需做以下处理:将相关信息插入还书记录表tb_return,更新图书信息表tb_book,如果表中该书没借完,则数量+1更新,否则,从tb_bkcache中,找到该图书信息,插入到tb_book,数量设为1,最后,删除tb_borrow中,该条借阅信息。 paper51.com 判断是否超期、超期提示关键代码: 内容来自www.paper51.com
copyright paper51.com
………… http://www.paper51.com
string tim=ds.Tables["tb_borrow"].Rows[0]["ordertime"].ToString();//获取借阅时间 copyright paper51.com …… 内容来自www.paper51.com DateTime t1=DateTime.Parse(tim); paper51.com TimeSpan ts=DateTime.Now-t1; 内容来自论文无忧网 www.paper51.com ………… 内容来自论文无忧网 www.paper51.com if(tover<=3&&tover>0)//如果没有超期,但离超期时间小于3天 内容来自www.paper51.com
{ copyright paper51.com Label1.Text="离超期还有"; 内容来自www.paper51.com
txb_over.Text=tover.ToString();//显示离超期还有几天 内容来自www.paper51.com } http://www.paper51.com ………… paper51.com if(ndays>30) http://www.paper51.com {…… copyright paper51.com
Label1.Text="借阅超期"; copyright paper51.com txb_over.Text=over.ToString();//显示超期时间 http://www.paper51.com |