面向对象图书管理系统Word格式.doc

上传人:wj 文档编号:6870988 上传时间:2023-05-07 格式:DOC 页数:9 大小:127.28KB
下载 相关 举报
面向对象图书管理系统Word格式.doc_第1页
第1页 / 共9页
面向对象图书管理系统Word格式.doc_第2页
第2页 / 共9页
面向对象图书管理系统Word格式.doc_第3页
第3页 / 共9页
面向对象图书管理系统Word格式.doc_第4页
第4页 / 共9页
面向对象图书管理系统Word格式.doc_第5页
第5页 / 共9页
面向对象图书管理系统Word格式.doc_第6页
第6页 / 共9页
面向对象图书管理系统Word格式.doc_第7页
第7页 / 共9页
面向对象图书管理系统Word格式.doc_第8页
第8页 / 共9页
面向对象图书管理系统Word格式.doc_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

面向对象图书管理系统Word格式.doc

《面向对象图书管理系统Word格式.doc》由会员分享,可在线阅读,更多相关《面向对象图书管理系统Word格式.doc(9页珍藏版)》请在冰点文库上搜索。

面向对象图书管理系统Word格式.doc

第二步系统将验证读者是否有效,并查询数据库以确认借阅图书是否存在。

只有这两个条件都被满足时,借阅请求才被接受,读者才可以借出图书。

同时,系统还要保存读者的借阅记录,以便读者归还图书后,系统可以删除被借阅图书的借阅记录。

三、概要设计

图书馆管理信息系统需要完成功能主要有:

1.读者基本信息的输入,包括借书证编号、读者姓名、读者性别。

2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。

3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。

4.书籍类别信息的查询、修改,包括类别编号、类别名称。

5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。

6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。

7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。

8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。

9.还书信息的输入,包括借书证编号、书籍编号、还书日期。

10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。

11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

12.超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等

关系模式

(一)书籍类别(种类编号,种类名称)

(二)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)

(三)书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)

(四)借阅(借书证编号,书籍编号,读者借书时间)

(五)还书(借书证编号,书籍编号,读者还书时间)

(六)罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)

全组成员

成员分工

四、详细设计

1、图书管理信息系统可以划分的实体有:

书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。

书籍类别实体

读者姓名

类别名称

2、读者信息

读者信息实体

读者借书证编号

读者性别

读者种类e

登记时间

3、信息实体

书籍信息实体

书籍编号

书籍名称

书籍类别编号

书籍作者

出版时间

收录时间

是否被借

出版社

2.2数据流程图

源代码

查询并读入读者信息以及读者已经借书的信息

privatevoidtxt1_KeyPress(objectsender,System.Windows.Forms.KeyPressEventArgse)

{

if(e.KeyChar==13&

&

txt1.Text.Trim()!

="

"

{

txt2.Clear();

txt3.Clear();

txt4.Clear();

this.showInfo();

//显示读者信息

}

显示读者信息和所借图书信息

privatevoidshowInfo()

stringstrConn="

DataSource=.;

InitialCatalog=libbook;

IntegratedSecurity=True"

;

SqlConnectioncn=newSqlConnection(strConn);

cn.Open();

SqlCommandcmd=cn.CreateCommand();

if(rbt1.Checked)//判断根据编号查询读者信息还是根据条形码

cmd.CommandText="

selecta.姓名,a.类型,b.图书册书,a.编号from读者信息a,读者类型b"

+"

where(a.类型=b.类型)and(a.编号='

+txt1.Text.Trim()+"

'

)"

else

where(a.类型=b.类型)and(a.条形码='

SqlDataReaderdr=cmd.ExecuteReader();

//执行查询,并读入读者数据

dr.Read();

if(dr.HasRows==false)//如未能查询到读者信息,则提示重新输入

MessageBox.Show("

无此读者,请检查后重新输入"

"

错误"

MessageBoxButtons.OK,MessageBoxIcon.Error);

return;

{

txt2.Text=dr.GetValue(0).ToString().Trim();

txt3.Text=dr.GetValue

(1).ToString().Trim();

txt4.Text=dr.GetValue

(2).ToString().Trim();

readerID=dr.GetValue(3).ToString().Trim();

dr.Close();

stringstrCmd="

selecta.状态,a.图书编号,b.书名,a.借阅时间,a.应还时间,b.出版社,b.价格"

+"

from图书借阅a,图书信息bwhere(a.图书编号=b.编号)and(a.状态='

未还'

and(读者编号='

+readerID+"

//查询读者所借书籍信息

SqlDataAdapterda=newSqlDataAdapter(strCmd,cn);

tblBooks.Clear();

//清空借书记录

da.Fill(tblBooks);

//读入读者借阅图书信息

totalCount=tblBooks.Rows.Count;

//显示已借书数量和本次借书数量

thisCount=0;

label1.Text="

已借书"

+totalCount.ToString()+"

本"

label2.Text="

本次借书0本"

groupBox2.Enabled=true;

//允许借书

txt5.Focus();

//光标移动到输入图书编号文本框处,开始借书

}

读者借书

privatevoidborrowBook() if(this.totalCount>

=Convert.ToInt32(txt4.Text.Trim()))//如果借书达到上限,则不允许再借

已经达到最大借书数量,请先归还书籍后再借书"

借书数量达到上限"

MessageBoxButtons.OK,MessageBoxIcon.Information);

groupBox2.Enabled=false;

stringstrConn="

workstationid=localhost;

IntegratedSecurity=SSPI;

database=libbook"

DataRowaRow=tblBooks.NewRow();

stringbookType;

//保存新借图书的类型

if(rbt3.Checked)

select编号,书名,出版社,价格,类型from图书信息where编号='

+txt5.Text.Trim()+"

select编号,书名,出版社,价格,类型from图书信息where条形码='

//执行查询,并读入图书数据

if(dr.HasRows==false)//如未能查询到图书信息,则提示重新输入

无此图书,请检查后重新输入"

stringnewbookID=dr.GetValue(0).ToString();

foreach(DataRownewRowintblBooks.Rows)//不允许重复借书

{

if(newRow["

图书编号"

].ToString().Trim()==newbookID.Trim())

{

MessageBox.Show("

该读者已经借有此书,不能再借"

信息"

MessageBoxButtons.OK,MessageBoxIcon.Warning);

return;

}

}

aRow["

]=dr.GetValue(0).ToString();

书名"

]=dr.GetValue

(1).ToString();

出版社"

]=dr.GetValue

(2).ToString();

价格"

]=Convert.ToDecimal(dr.GetValue(3));

状态"

]="

新借"

借阅时间"

]=System.DateTime.Now.ToString();

bookType=dr.GetValue(4).ToString();

cmd.CommandText="

select可借天数from图书类型where类型名称='

+bookType+"

//计算归还时间

intdays=Convert.ToInt32(cmd.ExecuteScalar());

DateTimereturnTime=System.DateTime.Now.AddDays(days);

aRow["

应还时间"

]=returnTime.ToString();

tblBooks.Rows.Add(aRow);

//增加新借书记录

totalCount++;

thisCount++;

本次借书"

+thisCount.ToString()+"

五、程序使用说明、测试分析及结果

进入VisualStudio2010,创建一个新的“Windows应用程序”类型的项目,名为“图书馆管理”。

将默认创建的窗体命名为“图书馆管理系统”,把“图书馆管理系统”作为本系统中的主界面。

在窗体中添加一个菜单(MenuStrip)控件,一个工具栏(ToolStrip)控件。

本系统的用户非为普通用户和管理用户,管理用户具有系统提供的所有权限,普通用户可以查询图书、借阅图书。

管理员有权限将图书添加到数据库中,图书入库界面的设计.

在窗体的左边的分组框中添加标签和文本框,用来接收管理员输入的图书信息,以便保存到数据库中。

在右边的分组框中添加DataGridView控件,可以显示数据库中的图书信息,新添加的图书信息也可以显示出来。

根据图书馆中已有的图书信息,用户可以通过图书证号实现借阅。

六、课程设计总结

在这次项目工作中,虽然很辛苦,但收获也不少。

我们懂得众人拾柴火焰高,团队的合作不但节省时间,而且提高效率,从合作过程中,我们互相请教,也学了不少的东西,团队的成员在这过程中编写代码的能力也提高了不少;

我们懂得严谨的精神,编写代码过程中都要很细心,有时小小的错误,就会是给后期的改正增加难度;

我们也懂得做软件要有专注的精神,想做好软件,就要全心全意地投入进去。

回想这个过程,我们一步步克服苦难,也一步步积累我们的成就感,到做完软件那一刻,我们感到无比地兴奋。

我们也懂得了,做软件也是一件很幸福的事情。

l参考文献

 

1.王汝涌, 

管理信息系统,中国财政经济,2001.7 

2.张海藩,软件工程,清华大学出版社,2001.6

3.萨师煊、王珊《数据库系统概论(第二版)》高等教育出版社,2001.4 

4.李红等编著,管理信息系统开发与应用,电子工业出版社,2003

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2