图书借阅管理系统C#报告Word格式文档下载.docx

上传人:b****5 文档编号:16891551 上传时间:2022-11-26 格式:DOCX 页数:17 大小:304.60KB
下载 相关 举报
图书借阅管理系统C#报告Word格式文档下载.docx_第1页
第1页 / 共17页
图书借阅管理系统C#报告Word格式文档下载.docx_第2页
第2页 / 共17页
图书借阅管理系统C#报告Word格式文档下载.docx_第3页
第3页 / 共17页
图书借阅管理系统C#报告Word格式文档下载.docx_第4页
第4页 / 共17页
图书借阅管理系统C#报告Word格式文档下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

图书借阅管理系统C#报告Word格式文档下载.docx

《图书借阅管理系统C#报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统C#报告Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。

图书借阅管理系统C#报告Word格式文档下载.docx

2系统设计

系统功能图如下:

3数据库设计

1各表的物理结构:

BookMessage表:

其中的每个字段都不为空,Type只能为图书或杂志;

ReaderMessage表:

其中每个字段都不为空,Sex只能为男或女,Type只能为学生或管理员,Passwords默认值为123456;

BorrowMessage表:

其中每个字段都不为空;

2三个表的关系图:

2数据库的安全设计

软件系统方面

用户登录系统必须提供用户名和密码,选择相应角色,系统自动查询数据库判断用户名密码是否正确及是否符合用户所选择的的身份。

权限设置

本系统分为两个角色,管理员和学生。

管理员登录系统可以管理书籍信息,添加新的管理员和注销自己的账户;

学生登录可以查看个人信息,查询书籍,借书,还书,查询借阅记录,查询已还书,查询未还书和注销自己的账户。

4图书借阅系统的实现

1登录窗体

⑴界面及最终运行效果如图4.1所示。

图4.1登录界面

⑵用户选择管理员或学生,填写用户名,如“aa”,然后输入密码,系统对输入的用户名及相应的密码进行校验。

具体流程图如下图所示:

图4.2密码验证流程图

⑶有关代码如下:

namespaceBooksManagementSystem

{

publicpartialclassload:

Form

{

publicstaticstringreaderindex=null;

publicload()

InitializeComponent();

}

privatevoidload_Load(objectsender,EventArgse)

privatevoidbt_load_Click(objectsender,EventArgse)

if(tb_user.Text.Trim()=="

"

MessageBox.Show("

请填写用户名!

);

return;

boolisStudent;

OleDbConnectionmycon;

OleDbDataAdaptermyda;

DataSetmyds;

stringstrSelect;

stringstrCon="

Provider=Microsoft.Jet.OLEDB.4.0;

DataSource=BooksManagementSystem.mdb;

PersistSecurityInfo=True"

;

if(rb_student.Checked==true)

strSelect="

selectpasswordsfromReaderMessagewhereReaderIndex='

+tb_user.Text+"

'

andType='

学生'

isStudent=true;

//MessageBox.Show(strSelect);

else

管理员'

isStudent=false;

mycon=newOleDbConnection(strCon);

myda=newOleDbDataAdapter(strSelect,mycon);

myds=newDataSet();

myda.Fill(myds);

if(myds.Tables[0].Rows.Count>

0)

if(tb_password.Text.Equals(myds.Tables[0].Rows[0][0].ToString()))

load.readerindex=tb_user.Text.ToString();

if(isStudent)

this.Hide();

StudentIndexSIndex=newStudentIndex();

SIndex.ShowDialog();

this.Show();

ManagerIndexMIndex=newManagerIndex();

MIndex.ShowDialog();

else

用户名错误或密码错误!

用名错误或密码错误!

privatevoidbt_register_Click(objectsender,EventArgse)

Registerreg=newRegister();

reg.ShowDialog();

privatevoidbt_cancel_Click(objectsender,EventArgse)

this.Close();

}

2.学生首页

学生登录后,进入学生首页,如下图所示:

A.查询书籍可以有条件查询,如填写书籍编号,书名,作者,出版社任意几项,点击查询,则DataGridView控件会显示查询的书籍,无条件查询效果如下图:

B.借书要先查询书籍,然后在控件上点击你要借的书,最后点击借书,如果此书在库则提示借书成功,否则提示此书已借出,借书成功效果如下:

C.还书需要输入书籍编号进行还书,如果你借了此书且没还则提示还书成功,否则提示你未借此书,还书成功效果如下图:

D.查询借阅记录,查询已还书,查询未还书时,则控件会显示相应的信息,查询借阅记录的效果如下图:

E.点击个人信息,则会进入个人信息界面;

上述有关代码如下:

publicpartialclassStudentIndex:

publicDataGridViewCellEventArgsborrowBook;

boolisBorrow=false;

boolisSelect=false;

publicStudentIndex()

publicvoidUpdate()

stringstrSelect="

selectBookIndexas书º

¨

¦

籍?

编À

¤

号?

BookNameas书º

名?

称?

Authoras作Á

¡

Â

者?

Publishas出?

版ã

?

社¦

JoinTimeas入¨

库a时º

À

间?

Priceas价?

格?

Typeas类¤

型¨

ª

Stateas是º

否¤

在¨

²

库afromBookMessage"

boolisAll=true;

if(tb_bookindex.Text.Trim()!

="

strSelect=strSelect+"

whereBookIndex='

+tb_bookindex.Text+"

isAll=false;

if(tb_bookname.Text.Trim()!

if(isAll)

whereBookName='

+tb_bookname.Text+"

andBookName='

if(tb_author.Text.Trim()!

where[Author]='

+tb_author.Text+"

and[Author]='

if(tb_publish.Text.Trim()!

wherePublish='

+tb_publish.Text+"

andPublish='

myda=newOleDbDataAdapter(strSelect,mycon);

dataGridView1.DataSource=myds.Tables[0];

privatevoidbt_querybook_Click(objectsender,EventArgse)

isBorrow=true;

Update();

privatevoidbt_borrow_Click(objectsender,EventArgse)

if(!

isBorrow)

请?

先¨

查¨

询¡

¥

书º

isSelect)

选?

择?

stringbookid;

if(borrowBook.RowIndex<

myds.Tables[0].Rows.Count)

if(myds.Tables[0].Rows[borrowBook.RowIndex][7].ToString().Equals("

False"

))

此ä

已°

借¨

出?

bookid=myds.Tables[0].Rows[borrowBook.RowIndex][0].ToString();

stringtime=DateTime.Now.ToShortDateString();

mycon.Open();

stringstrInsert="

InsertintoBorrowMessage(ReaderIndex,BookIndex,BorrowTime,IsReturn)values('

+load.readerindex+"

'

+bookid+"

+time+"

false)"

OleDbCommandmycom=newOleDbCommand(strInsert,mycon);

mycom.ExecuteNonQuery();

stringstrUpdate="

updateBookMessagesetState=falsewhereBookIndex='

OleDbCommandmycom1=newOleDbCommand(strUpdate,mycon);

mycom1.ExecuteNonQuery();

mycon.Close();

isSelect=false;

成¨

功|!

ê

正y确¨

的Ì

privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse)

borrowBook=e;

isSelect=true;

privatevoidbt_return_Click(objectsender,EventArgse)

isBorrow=false;

if(tb_bookindex.Text.Trim()=="

输º

入¨

select*fromBorrowMessagewhereBookIndex='

andIsReturn=False"

OleDbDataAdaptermyda1;

DataSetmyds1;

myda1=newOleDbDataAdapter(strSelect,mycon);

myds1=newDataSet();

myda1.Fill(myds1);

if(myds1.Tables[0].Rows.Count<

=0)

你?

没?

有®

D借¨

这a本À

updateBookMessagesetState=truewhereBookIndex='

stringstrUpdate1="

updateBorrowMessagesetIsReturn=true,ReturnTime='

+time+"

whereBookIndex='

OleDbCommandmycom=newOleDbCommand(strUpdate,mycon);

OleDbCommandmycom1=newOleDbCommand(strUpdate1,mycon);

还1书º

功|"

privatevoidbt_borrowrecord_Click(objectsender,EventArgse)

selectAutoIdas编À

ReaderNameas读¨

¢

姓?

ReaderMessage.ReaderIndexas读¨

BookMessage.BookIndexas书º

BorrowTimeas借¨

时º

ReturnTimeas还1书º

IsReturnas是º

还1fromBorrowMessage,BookMessage,ReaderMessagewhereBorrowMessage.BookIndex=BookMessage.BookIndexANDBorrowMessage.ReaderIndex=ReaderMessage.ReaderIndexANDReaderMessage.ReaderIndex='

OleDbDataAdaptermyda1=newOleDbDataAdapter(strSelect,mycon);

DataSetmyds1=newDataSet();

dataGridView1.DataSource=myds1.Tables[0];

privatevoidbutton1_Click(objectsender,EventArgse)

还1fromBorrowMessage,BookMessage,ReaderMessagewhereBorrowMessage.BookIndex=BookMessage.BookIndexANDBorrowMessage.ReaderIndex=ReaderMessage.ReaderIndexandIsReturn=FalseANDReaderMessage.ReaderIndex='

privatevoidbutton2_Click(objectsender,EventArgse)

还1fromBorrowMessage,BookMessage,ReaderMessagewhereBorrowMessage.BookIndex=BookMessage.BookIndexANDBorrowMessage.ReaderIndex=ReaderMessage.ReaderIndexandIsReturn=TrueANDReaderMessage.ReaderIndex='

privatevoidStudentIndex_Load(objectsender,EventArgse)

privatevo

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

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1