数据库设计图书管理系统.docx

上传人:b****7 文档编号:10414056 上传时间:2023-02-11 格式:DOCX 页数:26 大小:561.20KB
下载 相关 举报
数据库设计图书管理系统.docx_第1页
第1页 / 共26页
数据库设计图书管理系统.docx_第2页
第2页 / 共26页
数据库设计图书管理系统.docx_第3页
第3页 / 共26页
数据库设计图书管理系统.docx_第4页
第4页 / 共26页
数据库设计图书管理系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

数据库设计图书管理系统.docx

《数据库设计图书管理系统.docx》由会员分享,可在线阅读,更多相关《数据库设计图书管理系统.docx(26页珍藏版)》请在冰豆网上搜索。

数据库设计图书管理系统.docx

数据库设计图书管理系统

目录

1、绪论3

1.1数据库应用系统简介3

1.2VisualStudio2010开发平台3

2、系统需求分析3

3、数据库设计4

3.1系统功能设计4

3.2数据库中的表格应用5

3.3图书管理系统组成6

3.4模块功能实现6

3.4.1管理员模块实现6

3.4.2学生功能模块实现6

3.4.3教师功能模块实现7

3.5数据库概念结构设计7

3.5.1该系统的流程图为7

3.5.2该系统的E-R图7

3.5.3数据库逻辑结构设计8

3.5.4数据表详细说明9

4、通用类的生成11

4.1连接数据库11

4.2操作数据库中的数据11

4.3用户登录代码11

4.4借阅书籍代码13

4.5归还书籍代码15

4.6人员信息查询代码16

4.7主菜单设计代码17

5、系统测试20

5.1开发与测试环境20

5.2程序调试情况20

5.3功能显示20

5.3.1运行主窗口20

5.3.2主界面21

5.3.3人员信息查询界面22

5.3.4借书界面22

5.3.5还书界面23

六.组类成员个人总结报告24

七.【参考文献】26

1、绪论

1.1数据库应用系统简介

SQLService2005数据库是微软公司精心打造的企业级数据库开发平台,该产品不仅包含了丰富的企业及数据管理功能,还集成了商业智能等特性。

数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。

它主要包括四个要素:

用户数据、元数据、索引和应用元数据。

1.2VisualStudio2010开发平台

VisualStudio是一套完整的开发工具集,用于生成ASP.NETWeb应用程序、XMLWebServices,桌面应用程序和移动应用程序。

VB、VC++、VC#和VJ#全都使用相同的集成开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。

另外,这些语言利用了.NETFramework的功能,通过此框架可使用简化ASPWeb应用程序和XML.WebService开发的关键技术。

2、系统需求分析

图书管理系统:

当今时代是飞速发展的信息时代。

在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。

计算机的最大好处在于利用它能够进行信息管理。

使用计算机进行信息控制,不仅提高了工作效率,而且大大提高了其安全性。

图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包括很多的信息数据的管理,所以我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效地查询和修改图书情况。

3、数据库设计

3.1系统功能设计

✧用户登录:

验证管理员的身份是否合法。

✧主菜单窗口:

用户的操作主窗口。

✧系统设置:

管理员实现对系统的设置功能。

✧读者管理:

管理员和教师实现对读者的管理功能。

✧图书管理:

所有用户包括管理员、教师、学生实现对书籍的管理。

✧图书借还:

管理员对书籍借阅情况进行查看,学生和教师可以借阅书籍、归还书籍。

✧系统查询:

所有用户实现对图书管理系统的查询功能。

✧图书借阅排行榜:

用户查看书籍借阅的信息。

✧读者借阅排行榜:

读者查看自己借阅的书籍信息。

3.2数据库中的表格应用

分别为book表、bookcategory表、group表、category表、user表、userbook表。

它们的E-R图如下所示。

 

 

 

3.3图书管理系统组成

LoginForm.cs窗体:

登录界面

MenuForm.cs窗体:

主菜单界面

InfoForm.cs窗体:

人员信息查询界面

LendForm.cs窗体:

借阅书籍

ReturnForm.cs窗体:

归还书籍

Program.cs文件:

图书管理系统应用程序主入口文件

App.config文件:

配置数据库连接字符串等信息

3.4模块功能实现

3.4.1管理员模块实现

管理员功能模块共包括登录、系统设置、读者管理、图书管理、查看图书借书还书情况、系统查询等功能。

3.4.2学生功能模块实现

学生功能模块包括登录、图书管理、查看图书借书还书情况、系统查询等功能。

3.4.3教师功能模块实现

管理员功能模块共包括登录、读者管理、图书管理、查看图书借书还书情况、系统查询等功能。

3.5数据库概念结构设计

3.5.1该系统的流程图为

3.5.2该系统的E-R图

3.5.3数据库逻辑结构设计

该图书管理系统的实体及其跟别对应的属性为:

书籍(书籍ID号,书籍名称,作者,出版社,ISBN,出版时间,出版时间,数量)

用户类别(类别名称,类别编号)

图书分类(图书分类编号,图书类名,图书简介,父分类)

用户(用户ID号,用户密码,用户名称,用户类别)

借书信息(书籍ID号,用户ID号,借阅时间,借阅数量,状态)

 

3.5.4数据表详细说明

Book表

BookCategory表

Group表

Category表

User表

UserBook表

 

4、通用类的生成

本系统的主要操作都需要与数据库发生交互,为了提高代码的重用性和规范性,把与数据库交互的功能单独放在一个类中,在该类中实现数据库的增加、删除、修改、查询等通用功能。

4.1连接数据库

(1)定义数据库连接字符串,代码如下:

usingSystem.Data.SqlClient;

(2)创建Connection对象,代码如下:

SqlConnectioncon=newSqlConnection();

(3)打开连接,代码如下:

con.Open();

(4)关闭连接,代码如下:

con.Close();

4.2操作数据库中的数据

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=sqlConnection1.ConnectionString;

conn.Open();

SqlCommandcmd=newSqlCommand("selectcount(*)fromuser1whereusername='"+textBox1.Text+"'andpassword='"+textBox2.Text+"'",conn);

4.3用户登录代码

publicpartialclassForm1:

Form

{

publicForm1()

{

InitializeComponent();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox1.Text=="")//判断用户名是否为空

{

MessageBox.Show("用户名不能为空","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);

}

else

{

if(textBox2.Text=="")//判断密码是否为空

{

MessageBox.Show("请输入密码","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);

}

else//用户名及密码不为空的情况下执行如下代码

{

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=sqlConnection1.ConnectionString;

conn.Open();

SqlCommandcmd=newSqlCommand("selectcount(*)fromuser1whereusername='"+textBox1.Text+"'andpassword='"+textBox2.Text+"'",conn);

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

if(i>0)

{

cmd=newSqlCommand("select*fromuser1whereusername='"+textBox1.Text+"'",conn);

SqlDataReadersdr=cmd.ExecuteReader();

sdr.Read();

stringgroupid=sdr["groupid"].ToString().Trim();

stringid=sdr["id"].ToString().Trim();

sdr.Close();

cmd=newSqlCommand("selectcount(*)fromgroup1whereid='"+groupid+"'andgroupname='"+comboBox1.Text+"'",conn);

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

if(j>0)

{

conn.Close();

Form2main=newForm2();

main.id=id;

main.groupid=groupid;

main.name=textBox1.Text;

main.time=DateTime.Now.ToShortDateString();

main.Show();

//this.Hide();

}

else

{

MessageBox.Show("类型错误");

}

}

else

{

MessageBox.Show("用户名或密码错误");

}

}

}

4.4借阅书籍代码

publicpartialclassForm4:

Form

{

publicstringnames;

publicstringnameid;

publicForm4()

{

InitializeComponent();

}

privatevoidForm4_Load(objectsender,EventArgse)

{

this.bookTableAdapter.Fill(this.libraryDataSet1.book);

textBox1.Text=names;

textBox2.Text=nameid;

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringmysql;

inti;

i=dataGridView1.RowCount;

mysql="insertintouserbook(id,bookid,userid,createdate,number)values("+i+",'"+textBox5.Text+"','"+textBox2.Text+"','"+dateTimePicker1.Value+"','"+textBox3.Text+"')";

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=sqlConnection1.ConnectionString;

conn.Open();

SqlCommandcmd=newSqlCommand();

cmd.CommandText=mysql;

cmd.Connection=conn;

cmd.ExecuteNonQuery();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

this.Close();

}

privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse)

{

try

{

if(e.RowIndex

textBox5.Text=dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();

}

catch(Exceptionex)

{

MessageBox.Show("需要选中一个学生记录","信息提示");

}

}

}

4.5归还书籍代码

publicpartialclassForm5:

Form

{

publicstringnames;

publicstringnameid;

SqlDataAdaptermyda=newSqlDataAdapter();

DataSetmyds=newDataSet();

SqlConnectionconn=newSqlConnection();

publicForm5()

{

InitializeComponent();

}

privatevoidForm5_Load(objectsender,EventArgse)

{

textBox1.Text=names;

textBox2.Text=nameid;

conn.ConnectionString=sqlConnection1.ConnectionString;

conn.Open();

stringmysql="select*fromuserbook,bookwhereuserbook.bookid=book.idanduserid='"+nameid+"'";

myda=newSqlDataAdapter(mysql,conn);

myda.Fill(myds,"userbook");

dataGridView1.DataSource=myds.Tables["userbook"];

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

stringmysql="select*fromuserbook";

myda=newSqlDataAdapter(mysql,conn);

SqlCommandBuildermycmdbuilder=newSqlCommandBuilder(myda);

myda.Update(myds,"userbook");

this.dataGridView1.DataSource=myds.Tables[0];

}

}

4.6人员信息查询代码

publicpartialclassForm3:

Form

{

SqlDataAdaptermyda=newSqlDataAdapter();

DataSetmyds=newDataSet();

publicForm3()

{

InitializeComponent();

}

privatevoidForm3_Load(objectsender,EventArgse)

{

stringmysql;

SqlConnectionconn=newSqlConnection();

conn.ConnectionString=sqlConnection1.ConnectionString;

conn.Open();

mysql="select*fromuser1";

myda=newSqlDataAdapter(mysql,conn);

myda.Fill(myds,"user1");

dataGridView1.DataSource=myds.Tables["user1"];

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

SqlCommandBuildermycmdbuilder=newSqlCommandBuilder(myda);

if(myds.HasChanges())

{

try

{

myda.Update(myds,"user1");//更新数据源

}

catch(Exception)

{

MessageBox.Show("数据修改不正确,"信息提示");}

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

SqlCommandBuildermycmdbuilder=newSqlCommandBuilder(myda);

myda.Update(myds,"user1");

this.dataGridView1.DataSource=myds.Tables[0];

}

}

4.7主菜单设计代码

publicpartialclassForm2:

Form

{

publicstringid;

publicstringname;

publicstringtime;

publicstringty;

publicstringgroupid;

SqlDataAdaptermyda=newSqlDataAdapter();

DataSetmyds=newDataSet();

SqlConnectionconn=newSqlConnection();

publicForm2()

{

InitializeComponent();

}

privatevoid图书借阅ToolStripMenuItem_Click(objectsender,EventArgse)

{

Form4frm4=newForm4();

frm4.names=name;

frm4.nameid=id;

frm4.Show();

}

privatevoidForm2_Load(objectsender,EventArgse)

{

switch(groupid)

{

case"1":

ty="学生?

;

系统设置ToolStripMenuItem.Enabled=false;

读者管理ToolStripMenuItem.Enabled=false;

break;

case"2":

ty="教师";

系统设置ToolStripMenuItem.Enabled=false;

break;

case"3":

ty="管理员";

break;

}

toolStripStatusLabel1.Text="登录用户名:

"+name+"用户权限:

"+ty+"登录时间:

"+time;

conn.ConnectionString=sqlConnection1.ConnectionString;

conn.Open();

stringmysql2="selectusername,count(userbook.number)numfromuserbook,user1whereuserbook.userid=user1.idgroupbyusernameorderbycount(userbook.number)desc";

myda=newSqlDataAdapter(mysql2,conn);

myda.Fill(myds,"user1");

dataGridView2.DataSource=myds.Tables["user1"];

stringmysql="selectbookname,count(userbook.number)numfromuserbook,bookwhereuserbook.bookid=book.idgroupbybooknameorderbycount(userbook.number)desc";

myda=newSqlDataAdapter(mysql,conn);

myda.Fill(myds,"book");

dataGridView1.DataSource=myds.Tables["book"];}

privatevoid读者类型管理ToolStripMenuItem_Click(objectsender,EventArgse)

{

Form3frm=newForm3();

frm.Show();

}

privatevoidstatusStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse)

{

}

privatevoidmenuStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse)

{

}

privatevoid图书归还ToolStripMenuItem_Click(objectsender,EventArgse)

{

Form5frm5=newForm5();

frm5.names=name;

frm5.nameid=id;

frm5.Show();

}

5、系统测试

5.1开发与测试环境

数据库:

MicrosoftSQLServer

开发工具:

MicrosoftVisualStudio2010

开发环境:

Microsoft.NETFrameworkSDKv2.0

开发语言:

C#语言

5.2程序调试情况

在数据库连接时一定要注意窗体和相应显示控件的绑定关系。

在把系统从一台计算机移植到另一台计算机时一定要把数据文件Libra

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

当前位置:首页 > 高等教育 > 军事

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

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