2022年C#课程设计图书馆信息管理系统 .pdf
《2022年C#课程设计图书馆信息管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C#课程设计图书馆信息管理系统 .pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C# 课程设计论文论文题目图书馆信息管理系统的实现与设计姓名黄 海 林学号201015046 班级计科二班目录1 绪论 . 2 1.1 数据库应用系统简介. 2 1.2VISUAL STUDIO 2008 开发平台 . 21.3 图书管理系统 . 22 数据库设计 . 32.1 数据库分析 . . 32.2 E-R模型设计 . 42.2.1 实体列表 . 42.2.2 系统的 E-R模型. . 42.3 设计数据库 . . 52.3.1 创建数据库 . . 52.3.2 创建数据表 . . 53 界面设计 . 63.1 主界面 . . 63.2 用户登录界面 . 73.3 图书查询界面 . 7
2、3.4 图书入库界面 . 73.5 图书更新界面 . 8名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 27 页 - - - - - - - - - 1 3.6 图书借阅界面 . 94 通用类的生成 . 94.1 连接数据库 . . 94.2 操作数据库中的数据. 104.3 用户登录代码、图书查询代码等的实现. 115 连接数据库 . 126 系统测试 . 126.1 开发与测试环境 . 126.2 程序调试情况 . 126.3 功能显示 . 126.3.1 运行主窗口
3、 . 126.3.2 图书查询功能 . 136.3.3 图书入库功能 . 146.3.4 图书更新功能 . 146.3.5 图书借阅功能 . 147 问题分析与解决方法 . . 157.1 定义连接数据库字符串的技巧. 157.2 图书更新中删除功能的约束性. 157.3 图书查询功能的友好交互性. 168 总结 . 17附录 . 17附录 A 主窗口实现代码 . 17附录 B 图书查询实现代码 . 20附录 C图书更新实现代码 . 21附录 D图书借阅功能实现代码 . 24参考文献 . 26名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
4、- - - 名师精心整理 - - - - - - - 第 2 页,共 27 页 - - - - - - - - - 2 1 绪论1.1 数据库应用系统简介SQL Server 2005 数据库是微软公司精心打造的企业级数据库平台产品,该产品不仅包含了丰富的企业及数据管理功能,还集成了商业智能等特性。 数据库由 DBMS (数据库管理系统)处理,DBMS 则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。1.2Visual Studio 2008 开发平台Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应
5、用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic 、Visual C+ 、 Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE) , 利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。1.3 图书管理系统当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计
6、算机进行信息控制,不仅提高了工作效率, 而且大大的提高了其安全性。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多, 包含很多的信息数据的管理,现今, 有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、 超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、 手抄进行。 数据信息处理工作量大, 容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是
7、尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多, 图书借阅信息的管理工作混乱而又复杂; 一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心
8、整理 - - - - - - - 第 3 页,共 27 页 - - - - - - - - - 3 基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。2 数据库设计2.1 数据库分析本系统利用 Visual Studio 2008处理数据库的功能,实现对图书馆信息的管理。主要功能为管理有关用户、管理员、书籍和借阅的信息等。本系统的结构分为用户信息管理模块、书籍信息管理模块、 借阅信息管理模块、管理者管理信息模块和查询处理模块。图书馆管理系统框图如图2.1 所示图 2.
9、1 图书馆管理系统框图成功进入图书馆管理系统管理员用户查询图书借阅图书图书管理查询图书增加图书修改图书删除图书登录失败名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 27 页 - - - - - - - - - 4 2.2 E-R 模型设计2.2.1 实体列表实体描述用户所有借阅者,查阅者,以及系统管理员,由用户ID 标识图书图书馆所有图书,由图书ID 标识借阅图书 ID、借阅 ID、借书日期、借阅证号等属性,由借阅ID 标识2.2.2 系统的 E-R 模型该图书管理系统
10、的E-R模型,如图 2.2 所示2.2 系统的 E-R模型用户图书借阅图书管理管理员UID UName UPwd UBookID UState BookID BookName BookType BookAuthor BookPriceBookPic BookContent BookIssue IssID BookID IssBookID IssDateTime m N 1 m 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 27 页 - - - - - - - - - 5
11、 2.3 设计数据库2.3.1 创建数据库(1) 在服务器资源管理器中的任一节点右击。 (2)执行快捷菜单中的“新建数据库”命令, 并在打开的“创建数据库”对话框中输入数据库名BookManage ,其他可采用默认值。 (3)单击“确定”按钮,则新建的数据库就会出现在服务器上。2.3.2 创建数据表创建数据库后,为BookManage 数据库添加数据表,步骤如下。 (1)在服务器资源管理器中右击数据库BookManage下的“表”文件夹在弹出的快捷菜单中执行“新建表”命令。 (2)添加表的字段和其他详细资料。各表数据结构如下表所示。表 2-1 用户信息 (userinfo) 列名含义数据类型说
12、明UID 用户 ID int 自动,主键UName 用户名vchar(50) 不为空UPwd 密码vchar(50) 不为空UState 用户权限,管理员=1,普通用户=2 int 不为空,默认值为 2 UBookID 借阅证号bigint 可以为空表 2-2 图书信息 (bookinfo) 列名含义数据类型主键BookID 图书 ID bigint 自动,主键BookName 图书名称Varchar(50) 不为空BookType 类别Varchar(100) 不为空BookAuthor 作者Varchar(100) 不为空BookPrice 价格smallmoney 不为空BookPic
13、封面Varchar(200) 允许为空BookContent 内容简介text 不为空BookIssue 图书制定访问码Varchar(50) 不为空表 2-3 借阅信息 (issueinfo) 列名含义数据类型说明IssID 借阅 ID bigint 自动,主键BookID 图书 ID bigint 外键IssBookID 借阅证号bigint 不为空名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 27 页 - - - - - - - - - 6 IssDateTime
14、 借书日期datetime 不为空2.4 数据库中表的关系在数据库中新建 BookManage 数据库的数据库关系图如图2.4 所示图 2.4 数据库关系图3 界面设计3.1 主界面进入 Visual Studio 2008,创建一个新的“ Windows应用程序”类型的项目,名为“图书馆管理”。 将默认创建的窗体命名为“图书馆管理系统”,把“图书馆管理系统”作为本系统中的主界面。在窗体中添加一个菜单 (MenuStrip )控件,一个工具栏(ToolStrip)控件。MenuStrip 中的菜单项,子菜单项如图3.1 所示图 3.1 主界面名师资料总结 - - -精品资料欢迎下载 - - -
15、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 27 页 - - - - - - - - - 7 3.2 用户登录界面本系统的用户非为普通用户和管理用户,管理用户具有系统提供的所有权限,普通用户可以查询图书、借阅图书。在窗体中添加 3 个标签 (Label) 控件,2 个按钮( Button )控件,1 个组合框(ComboBox )控件, 2 个文本框( TextBox)控件。用户类型分为管理用户和普通用户,在组合窗口中添加这两项。3.3 图书查询界面图书查询提供组合查询的方式,界面窗体名称为“frmSearchBook
16、.cs ”, 图书类别组合框中的项是从数据库中获取的,在设计时不需要添加内容。 在条件组合框中输入“ or”和“ and”, 来动态实现条件组合。在窗体中添加 2 个分组框( GroupBox )控件:搜索条件、搜索结果,各种控件的添加如图 3.3 所示图 3.3 图书查询界面在右边的分组框中添加DataGridView 控件,单击右上角的黑色三角,选择“在父容器中停靠”选项。3.4 图书入库界面管理员有权限将图书添加到数据库中,图书入库界面的设计如图3.4 所示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
17、- - - - - - 第 8 页,共 27 页 - - - - - - - - - 8 图 3.4 图书入库界面在窗体的左边的分组框中添加标签和文本框,用来接收管理员输入的图书信息,以便保存到数据库中。在右边的分组框中添加DataGridView 控件,可以显示数据库中的图书信息,新添加的图书信息也可以显示出来。3.5 图书更新界面图书更新界面用于方便管理员管理图书信息,实现图书信息修改、 删除等操作。界面设计如图3.5 所示图 3.5 图书更新界面管理员可以在 DataGridView 控件中直接修改数据,也可以通过右边的分组框实现图书信息的修改。名师资料总结 - - -精品资料欢迎下载
18、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 27 页 - - - - - - - - - 9 3.6 图书借阅界面根据图书馆中已有的图书信息,用户可以通过图书证号实现借阅。界面设计如图 3.6 所示图 3.6 图书借阅界面4 通用类的生成本系统的主要操作都需要与数据库发生交互,为了提高代码的重用性和规范性,把与数据库交互的功能单独放在一个类中,在该类中实现数据库的增加、删除、修改、查询等通用功能。4.1 连接数据库(1) 定义数据库连接字符串,代码如下:Private static string Connec
19、tString = Data Source= (local)sqlexpress;DataBase=BookManage.mdf; (2) 创建 Connection 对象,代码如下:SqlConnection con = new SqlConnection(ConnectString); (3) 打开连接,代码如下:con.Open(); (4) 关闭连接,代码如下:con.Close(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 27 页 - - - - -
20、 - - - - 10 4.2 操作数据库中的数据using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace BookManage classDataAccess privatestaticstring ConnectString = Data Source =A20SQLEXPRESS;AttachDbFilename=F:BookManagedataBookMana
21、ge.mdf;Integrated Security=False; / 数据库连接字符串/ /根据表名获取数据集的表/ / /publicstaticDataTable GetDataSetByTableName(string table) using ( SqlConnection con = newSqlConnection (ConnectString)/创建数据库连接对象 string sql = select * from + table + ; / 查询sql 语句try SqlDataAdapter adapter = new SqlDataAdapter (sql, con);
22、 / 创建适配器对象DataSet ds = new DataSet(); / 创建数据集对象 adapter.Fill(ds, table); / 填充数据集return ds.Tables0;/ 返回数据表 catch ( SqlException ex) throw new Exception (ex.Message); ; publicstaticDataSet GetDataSetBySql( string sql) using ( SqlConnection con = newSqlConnection (ConnectString)/创建数据库连接对象 SqlDataAdapte
23、r adapter = newSqlDataAdapter (sql,con);/创建适配器对象DataSet ds = new DataSet(); / 创建数据集对象try adapter.Fill(ds);/ 填充数据集return ds; / 返回数据集 catch ( SqlException ex) throw new Exception (ex.Message) publicstaticSqlDataReader GetDataReaderByID( int id) using ( SqlConnection con = new SqlConnection (ConnectStr
24、ing) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 27 页 - - - - - - - - - 11 string sql = select * from bookinfo where bookid= + id; /sql语句try SqlCommand comm = new SqlCommand (sql, con);/ 创建Command对象 con.Open();/ 打开连接SqlDataReader reader = comm.ExecuteReader
25、(); / 创建DataReader对象 reader.Read();/ 读取数据return reader;/ 返回DataReadercatch ( SqlException ex) throw new Exception (ex.Message); publicstaticbool UpdateDataTable( string sql) using ( SqlConnection con = new SqlConnection (ConnectString) try con.Open();/ 打开连接SqlCommand comm = new SqlCommand (sql, con)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C#课程设计图书馆信息管理系统 2022 C# 课程设计 图书馆 信息管理 系统
限制150内