《数据库》课程设计报告图书借阅管理系统的设计与实现Word下载.docx
《《数据库》课程设计报告图书借阅管理系统的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《《数据库》课程设计报告图书借阅管理系统的设计与实现Word下载.docx(27页珍藏版)》请在冰点文库上搜索。
![《数据库》课程设计报告图书借阅管理系统的设计与实现Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/16501a29-5479-4403-ba4c-f4990c24b78c/16501a29-5479-4403-ba4c-f4990c24b78c1.gif)
学生基本信息:
学号,姓名.
书籍基本信息:
图书编号,图书名,作者,出版社,数量.
第二章概要设计
一.系统设计目标
本系统为学校的图书馆信息而设计,实现信息处理的自动化、规范化,主要用于处理图书日常借阅和还书、图书入库、各种查询操作,系统具有以下功能。
(1)完成新书入库、借阅、还书等处理功能
(2)具有借阅者增加、删除等功能
(3)具有各种查询功能
二.系统功能设计
要求系统实现图书馆日常管理事务最主要的功能,包括图书的借出于还回,图书信息的录入、修改和查询,读者信息的录入、修改和查询,员工信息的录入、修改和查询.实现这些基本功能,组建了图书管理系统的基本框架,根据功能的关联关系和集中分组的原则,将系统细化如图2-1所示的结构图.
图2—1系统功能结构图
三.开发工具的选择
本系统采用MicrosoftSQLServer2008创建后台数据库,前台开发工具采用的MicrosoftSQLServerManagementStudio,编程语言为C#。
如图2-2所示.
图2-2
第三章详细设计
一.实体E-R图
数据库设计使系统开发中非常重要的一个环节,数据库结构设计的好坏将直接影响系统的效率。
在设计数据库之前,要了解用户需求,从而确定数据库结构。
否则,如果在代码实现过程中再修改数据库的结构,将会浪费人力和物力。
同时,在数据库设计中,表的数量不能太多,否则系统的升级和维护将很困难。
由概要设计中系统结构可以得出实体及他们之间的联系.实体具体的描述及其联系E—R图,如图3-1所示:
图3-1E-R图
二.表的设计
2。
1图书信息
图书信表:
表名为:
“图书查询”,用于保存所以图书信息,其结够如图3—2所示。
图3-2book表的结构
2读者信息
读者信息表:
“图书借阅"
,用于保存可以在本馆借书的所有读者信息,其结果如图3-3所示。
图3—3reader表的结构
三.界面设计
3.1登录窗体设计
登录窗体作为系统的启动窗体,用于核对用户和密码,只有图书馆工作管理人员才能登录到本系统进行操作。
登录窗体的设计比较灵活,只要能实现用户和密码的验证即可,本系统将其设计成为一个小窗体。
登录窗体文件名设计为“Form1.cs”
3。
1.1界面设计
在该窗体上添加3个Label、2个TextBox、2个Button控件.登录窗体及其主要控件的属性设置如图3—4界面设计
图3-4登录窗体
1.2代码设计:
usingSystem;
usingSystem。
Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
//添加命名空间
Data。
SqlClient;
namespacefeng
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidtextBox3_TextChanged(objectsender,EventArgse)
privatevoidbutton1_Click(objectsender,EventArgse)
stringstrcon=”DataSource=.;
InitialCatalog=图书馆借阅系统;
IntegratedSecurity=True"
;
SqlConnectionsqlCon=newSqlConnection(strcon);
sqlCon.Open();
stringsql="
select*from登录whereusername=@form1nameandpassword=@password"
;
SqlCommandcmd=newSqlCommand(sql,sqlCon);
cmd.Parameters。
Add(”@form1name”,SqlDbType。
NChar,20);
cmd。
Parameters。
Add("
@password"
SqlDbType.NChar,20);
Parameters[”@form1name”]。
Value=username。
Text;
cmd.Parameters[”@password"
]。
Value=password.Text;
//创建SqlDataReader,必须调用SqlCommand对象的ExecuteReader方法,而不要直接使用构造函数。
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
dr。
Close();
Formmainformmain=newFormmain();
formmain.Show();
this.Hide();
}
Else
MessageBox.Show("
密码错误,请重新输入!
”);
//name。
Clear();
password。
Clear();
sqlCon.Close();
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
privatevoidtextBox2_TextChanged(objectsender,EventArgse)
privatevoidbutton2_Click(objectsender,EventArgse)
Application.Exit();
}
2图书管理模块设计
图书管理窗体作为系统的功能窗体,用于有以下功能图书查询、图书借阅、图书增加、和退出到登录窗体。
登录窗体文件名设计为“Formmain。
cs”.
3.2。
1界面设计
在该窗体上添加5个Button控件,其中图书管理窗体及其主要控件的属性设置如图3—5所示。
他分别连接到图书查询、图书借阅、图书新增、图书归还和登录窗体。
图3—5图书管理
3.2.2代码设计:
Collections.Generic;
usingSystem.ComponentModel;
Data;
usingSystem.Drawing;
Linq;
Text;
Windows。
Forms;
publicpartialclassFormmain:
publicFormmain()
InitializeComponent();
privatevoidbutton1_Click(objectsender,EventArgse)
Selectbookselectbook=newSelectbook();
selectbook.Show();
privatevoidbutton3_Click(objectsender,EventArgse)
Addbookaddbook=newAddbook();
addbook。
Show();
privatevoidbutton6_Click(objectsender,EventArgse)
Application.Exit();
Borrowbookborrowbook=newBorrowbook();
borrowbook。
Show();
privatevoidbutton4_Click(objectsender,EventArgse)
Returnbookreturnbook=newReturnbook();
returnbook。
}
3.3图书借阅窗体设计
图书借阅窗体作为系统的启动窗体,用于借出和还入,其运行界面如图1—13所示。
登录窗体文件名设计为“Form4.cs”.
3.3。
在该窗体上添加2个Label、2个TextBox、2个Button控件,其中图书借阅窗体及其主要控件的属性设置如图3—6所示.
图3—6图书借阅
2代码设计:
(关键代码)
publicpartialclassBorrowbook:
publicBorrowbook()
privatevoidlabel3_Click(objectsender,EventArgse)
formmain。
this。
Hide();
stringstrcon=”DataSource=BXAIT-PC;
InitialCatalog=图书馆借阅系统;
sqlCon.Open();
select*fromdbo.借阅信息wheresno=@snoorbookid=@bookid”;
SqlCommandcmd=newSqlCommand(sql,sqlCon);
Add(”@sno”,SqlDbType.NChar,10);
Parameters.Add(”@bookid”,SqlDbType。
NChar,10);
Parameters["
@sno"
].Value=textBox1。
cmd.Parameters["
@bookid”].Value=textBox2。
SqlDataReaderdr=cmd。
ExecuteReader();
dr.Close();
stringlend="
insertintodbo。
借阅信息values(@sno,@bookid)"
SqlCommandcmd2=newSqlCommand(lend,sqlCon);
cmd2。
@sno”,SqlDbType.NChar,10);
@bookid”,SqlDbType.NChar,10);
cmd2.Parameters[”@sno”]。
Value=textBox1。
Parameters[”@bookid"
].Value=textBox2.Text;
cmd2.ExecuteNonQuery();
MessageBox。
Show(”借书成功!
”);
else
MessageBox.Show(”图书馆没有这本书,请重新输入!
"
);
textBox1.Clear();
textBox2.Clear();
3.4图书查询窗体设计
图书查询窗体通过输入图书名称查询出作者,出版社,数量.图书查询窗体文件名设计为“Form2.cs”。
3.4.1界面设计
在该窗体上添加5个Label、5个TextBox、3个Button控件,其中图书查询窗体及其主要控件的属性设置如表3-7所示.
图3-7图书查询
4。
2代码设计:
publicpartialclassSelectbook:
publicSelectbook()
this.Hide();
privatevoidbutton1_Click_1(objectsender,EventArgse)
Borrowbookborrowbook=newBorrowbook();
borrowbook.Show();
PrivatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse)
SqlConnectionsqlcon=newSqlConnection("
DataSource=。
IntegratedSecurity=True”);
sqlcon.Open();
stringstr=”select*from查询wherebookid=@bookidorbookname=@booknameorbookauthor=@bookauthororbookpub=@bookpuborbookstate=@bookstate”;
SqlCommandcmd=newSqlCommand(str,sqlcon);
Add(”@bookid"
,SqlDbType。
NChar,10);
Add(”@bookname”,SqlDbType.VarChar,50);
Parameters.Add("
@bookauthor"
SqlDbType。
VarChar,50);
@bookpub”,SqlDbType。
VarChar,50);
@bookstate"
Parameters[”@bookid”]。
Value=this.textBox1。
Parameters[”@bookname"
].Value=this。
textBox2。
cmd.Parameters["
@bookauthor”].Value=this.textBox3。
cmd.Parameters[”@bookpub”]。
Value=this。
textBox4.Text;
@bookstate"
]。
Value=this.textBox5.Text;
this.textBox1。
Text="
NULL"
Text=”NULL"
this.textBox3。
NULL”;
textBox4。
Text=”NULL”;
textBox5。
SqlDataReaderdr=cmd.ExecuteReader();
while(dr。
Read())
this.textBox1.Text=dr[”bookid”].ToString().Trim();
textBox2.Text=dr["
bookname"
ToString()。
Trim();
Text=dr["
bookauthor"
].ToString()。
Trim();
textBox4.Text=dr[”bookpub”]。
ToString().Trim();
textBox5.Text=dr["
bookstate"
3.5图书新增窗体设计
图书新增窗体作为系统的启动窗体,用于对新书入库,其运行界面如图1-13所示.登录窗体文件名设计为“Form3.cs”
。
5.1界面设计
在该窗体上添加4个Label、4个TextBox、2个Button控件,其中图书增加窗体及其主要控件的属性设置如表3-8所示。
图3-8图书新增
3.5.2代码设计:
{
publicpartialclassAddbook:
publicAddbook()
SqlConnectionsqlcon=newSqlConnection(”datasource=.;
Stringstr="
insertintodbo.新增values(@bookid,@bookname,@bookauthor,@bookpub)"
//SqlCommandcmd=newSqlCommand("
insertinto新增(bnum,bname,bauthor,bpub,)values('
+textBox1.Text+"
'
,'
+textBox2。
Text+"
’,’"
+textBox3。
Text+”'
’"
+textBox4.Text+"
’)"
sqlcon);
SqlCommandcmd=newSqlCommand(str,sqlcon);
@bookid"
,SqlDbType.NChar,10);
cmd.Parameters.Add(”@bookname”,SqlDbType.VarChar,50);
@bookauthor"
SqlDbType.VarChar,50);
cmd.Parameters.Add(”@bookpub”,SqlDbType。
VarChar,50);
Parameters["
@bookid”].Value=textBox1.Text;
@bookname”]。
Value=textBox2。
Value=textBox3.Text;
@bookpub”]。
Value=textBox4。
cmd.ExecuteNonQuery();
sqlcon.Close();
Show(”——添加成功!
——"
);
textBox1.Clear();