您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 图书管理系统课程设计报告
《管理信息系统实习》报告专业班级学生姓名指导教师王桃群时间2012.3.13~2012.3.23成绩评语一、课程设计题目图书管理系统二、系统需求1.系统的准备操作系统:Windowsxp数据库系统:SQLServer2000或SQLServer2005客户端开发工具:VisualStudio2005或其他开发工具2.知识准备熟悉SQLServer2000或SQLServer2005的使用;熟悉C#、ASP.NET或其他语言进行数据库编程。3.系统分析图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等;读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等;读者凭借书证借书,教师最多借书15本书,借书期限最长为90天,学生最多借书8本书,借书期限最长为30天。对于超期未还的读者不能继续借书,每本书每超期一天罚款0.05元。三、系统设计1.体系结构本系统使用c/s模式的两层结构,表示层(USL)和数据访问层(DAL)。表示层(USL):为客户提供对应用程序的访问,以Windows应用程序或Web应用程序的形式提供实现的功能。业务逻辑层(BLL):实现应用程序的业务功能,以类库的形式为表示层提供服务。数据访问层(DAL):实现整个系统所有的数据库连接、数据存取操作,以组件类库的形式为业务逻辑层提供服务。此外,实体类,简单地说是描述一个业务实体的类。业务实体直观一点的理解就是整个应用系统业务所涉及的对象,从数据存储来讲,业务实体就是存储应用系统信息的数据表,将数据表中的每一个字段定义成属性,并将这些属性用一个类封装,这个类就称为实体类。2.功能模块框图3.数据库设计1.读者类别表(ReaderType)字段名数据类型说明rdTypeSmallInt读者类别【主键】rdTypeNameVarchar(8)读者类别名称CanLendQtyInt可借书数量CanLendDayInt可借书天数CanContinueTimesInt可续借的次数PunishRateFloat罚款率(分/天/本)DateValidSmallInt证书有效日期图书管理图书添加图书查找图书删除图书更新图书管理借书借书2.读者信息表(Reader)字段名数据类型说明rdIDInt读者序号【主键】rdNamevarchar(10)读者姓名rdPwdvarchar(10)读者密码,初值为“123”rdSexBit性别,0-男,1-女rdTypeSmallInt读者类别【外键】rdDeptChar(8)单位代码rdPhonevarchar(25)电话号码rdEmailvarchar(25)电子邮件rdDateRegsmalldatetime读者登记日期rdBorrowQtyInt已借书数量3.图书信息表(Book)字段名数据类型说明bkIDInt图书序号【主键】bkCodeChar(20)图书编号bkNameVarchar(50)书名bkAuthorVarchar(30)作者bkPressVarchar(50)出版社bkDatePressSmalldatetime出版日期bkISBNChar(15)书号bkCatalogVarchar(30)分类名bkLanguageSmallInt语言,0-中文,1-英文,2-日文,3-俄文,4-德文,5-法文bkPagesInt页数bkPriceMoney价格bkDateInSmallDateTime入馆日期bkBriefText内容简介bkCoverVarchar(100)或image图书封面照片bkIsInLabChar(4)是否在馆4.借阅信息表(Borrow)字段名数据类型说明rdIDInt读者序号【主键】bkIDInt图书序号【主键】ldContinueTimesInt续借次数(第一次借时,记为1)ldDateOutSmallDateTime借书日期ldDateRetPlanSmallDateTime应还日期ldDateRetActSmallDateTime实际还书日期ldOverDayInt超期天数ldOverMoneyMoney超期金额ldPunishMoneyMoney罚款金额lsHasReturnBit是否已经还书,缺省为0-未还OperatorLendVarChar(10)借书操作员OperatorRetVarChar(10)还书操作员四、系统实现登录的代码实现:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceBooksMng{publicpartialclassBookLogin:Form{publicBookLogin(){InitializeComponent();}privatevoidtextBox2_TextChanged(objectsender,EventArgse){}privatevoidbtnlogin_Click(objectsender,EventArgse){//连接数据库SqlConnectionconn=newSqlConnection(server=.;database=Booksmng;integratedsecurity=True);conn.Open();SqlCommandcmd=conn.CreateCommand();//cmd.CommandText=selectcount(*)fromUserswhereuserName='+txtName.Text+'anduserPwd='+txtPwd.Text+';cmd.CommandText=selectcount(*)fromUserswhereuserName=@userNameanduserPwd=@userPwd;cmd.Parameters.Add(@userName,SqlDbType.VarChar,20).Value=txtName.Text;cmd.Parameters.Add(@userPwd,SqlDbType.VarChar,20).Value=txtPwd.Text;try{intcount=Convert.ToInt32(cmd.ExecuteScalar());if(count!=0){MessageBox.Show(登陆成功!);BookMainfrm=newBookMain();frm.Show();}}catch(SqlExceptionex){//MessageBox.Show(登录失败!);MessageBox.Show(ex.Message);}}privatevoidFrmLogin_Load(objectsender,EventArgse){}}}图书管理部分,主要的代码实现如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceBooksMng{publicpartialclassBookManage:Form{publicBookManage(){InitializeComponent();}privatevoidForm2_Load(objectsender,EventArgse){DataBind();}privatevoidDataBind(){//连接数据库SqlConnectionconn=newSqlConnection(server=.;database=BooksMng;integratedsecurity=True);//SqlConnectionconn=newSqlConnection(server=.;database=BooksMng;integratedsecurity=True);conn.Open();SqlCommandcmd=conn.CreateCommand();//cmd.commandText=select*fromBook;cmd.CommandText=selectbkID编号,bkName书名,bkAuthor作者,bkPages页数,bkPress出版社fromBook;SqlDataAdaptersda=newSqlDataAdapter(cmd);DataSetds=newDataSet();sda.Fill(ds);dgvBooks.DataSource=ds.Tables[0];txtName.DataBindings.Clear();txtAuthor.DataBindings.Clear();txtPage.DataBindings.Clear();txtPress.DataBindings.Clear();txtName.DataBindings.Add(Text,ds.Tables[0],书名);txtAuthor.DataBindings.Add(Text,ds.Tables[0],作者);txtPage.DataBindings.Add(Text,ds.Tables[0],页数);txtPress.DataBindings.Add(Text,ds.Tables[0],出版社);//上面的代码是在窗体Load时,将Books表中的所有记录,即所有的图书信息显示在网格DataGrid空间中。//}//下面是实现添加功能privatevoidbtnAdd_click(objectsender,EventArgse){SqlConnectionconn=newSqlConnection(server=.;database=BooksMng;integratedsecurity=True);conn.Open();SqlCommandcmd=conn.CreateCommand();cmd.CommandText=insertintoBook(bkName,bkAuthor,bkPages,bkPress)values(@bkName,@bkAuthor,@bkPages,@bkPress);cmd.Parameters.Add(@bkName,SqlDbType.VarChar,30).Value=txtName.Text;cmd.Parameters.Add(@bkAuthor,SqlDbType.VarChar,30).Value=txtAuthor.Text;cmd.Parameters.Add(@bkPages,SqlDbType.Int).Value=Convert.ToInt32(txtPage.Text);//类型转换cmd.Parameters.Add(@bkPress,SqlDbType.VarChar,50).Value=txtPress.Text;try{cmd.ExecuteNonQuery();//执行上述SQL命令MessageBox.Show(图书添加成功!);DataBind();//重新将数据库绑定到DataGrid}catch(SqlExceptionex){MessageBox.Show(图书添加失败);MessageBox.Show(ex.Message);}}privatevoidbtnSearch_Click(objectsender,EventArgse){//连接数据库SqlConnectionconn=newSqlConnection(server=.;data
本文标题:图书管理系统课程设计报告
链接地址:https://www.777doc.com/doc-5667378 .html