1、 摘要本程序软件主要是实现图书馆信息管理,主要功能模块包括对管理员信息、员工信息、图书信息以及读者信息的添、删、查、修等。主要是利用Microsoft Visual Studio2010设计窗体,SQL server2005建立数据库及与连接,实现图书信息管理的功能。本篇报告介绍了该图书管理信息管理系统从分析设计到功能实现的过程,列出图书信息管理系统的设计和技术实现的过程,特别在细节上分析功能和函数的实现思想。涉及到的图书信息管理的基本功能在本报告中详细的描述。关键词:添加,删除,查询,修改,数据库的级联。目 录摘要1目 录0第1章 绪论11.1课题研究现状分析11.1.1 本领域内已开展的研
2、究工作11.1.2 已经取得的研究成果11.2选题的目的及意义1第2章 系统需求分析22.1 问题的提出22.2 系统的设计目标2第3章 系统总体设计33.1系统功能设计3一、系统登录3二、图书基本信息资料维护43.2数据库的设计53.3库中各个表的设计5第4章 系统实现64.1数据库操作类64.2登录模块实现64.3 员工登录密码修改模块实现84.4 员工管理的删除模块实现84.5 员工管理的添加模块实现84.6 员工管理的修改模块实现84.7 图书查询信息模块实现8第5章 系统使用说明9第6章 课程设计总结106.1 主要问题及解决办法106.2 课程设计体会106.3 自我评定10参考文
3、献11第1章 绪论随着信息产业的飞速发展,信息化管理已经引入并应用到各行业管理领域,各种形式的百货商场、大型仓储超市、便利店、连锁超市和专卖店等形式的零售业鳞次栉比,不断改变、影响着人们的价值观念和生活方式。因此,要提升企业竞争力,就要大力推进企业信息化建设,利用先进的办公自动化系统来实现企业内部信息管理、共享及交流,才能使企业在竞争激烈的21世纪取得先机。1.1课题研究现状分析在我们的教育事业里,计算机早涉及。在图书的管理中,如果通过使用计算机可以减少大量的手工操作,提高工作效率。图书基本信息管理系统过去采用人工处理方式,由于工作量非常之大,为了提高工作效率,方便管理,因此需要开发一个图书信
4、息管理系统。本次课题为:图书基本信息管理系统,它的主要功能是先通过用户身份验证,然后即可登录图书基本信息管理系统,然后通过增、删、查、改操作对图书基本信息进行管理和维护。1.1.1 本领域内已开展的研究工作1. 理论研究基础(1) 后台以SQL数据库支持。(2) 前台以 NeatBeans为开发环境,实现图书基本信息管理的增、删、查、改操作。2. 技术层面的支持(1)系统的设计与实现应采用MVC分层模式。(2)系统界面采用MDI方式,即用户登录后进入主窗体,主窗体通过菜单进入子窗体。1.1.2 已经取得的研究成果在此模块对社会上已经存在的相关系统进行总结、分析。1.2选题的目的及意义本课题的研
5、究意义及目的,描述本系统的优点及功能。目的:通过C#语言的基本知识和技能以及达到熟练掌握.NET的程度;基本掌握面向对象程序开发的基本思路和方法;能够利用所学的基本知识和技能,进行简单数据库应用程序设计。根据题目的要求,给出解决问题的方案,通过分析问题、分解问题、设计解决方案来解决问题,最终达到熟练掌握C#语言的运用和Visual Studio2005工具的使用。意义: 本系统简单、快捷的操作,不仅方便了管理,而且提高了图书信息管理的效率。采用权限分等的方式,员工只能够查询读者的信息和修改员工登录账户的密码,系统管理员拥有系统的最高权限,可以实现对员工登录账户信息的添加与删除,对读者信息以及图
6、书信息的增、删、查、修等功能。第2章 系统需求分析随着经济全球化的推进以及企业激烈的竞争,改善企业内部及整个供应链各环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇,是企业赢得竞争胜利的决定性因素。系统采用先进的两层体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、基本操作;Server(服务器端)负责实现数据服务。2.1 问题的提出为了减少人工工作量,提高工作效率,使学生教务部门的工作更加有效地进行。更加方便了管理员的操作流程,减少了许多不必要的步骤。2.2 系统的设计目标本系统是对教育部门进行一体化管理的软件系统,其核心管理思想是实现对图书信息增、删、查、改的
7、管理。方便了管理,提高了图书信息管理的管理效率。23第3章 系统总体设计3.1系统功能设计此系统实现了对图书信息管理的分级管理权限。总体分为管理员、员工两个权限。管理员权限可以借阅处理、信息查询、图书信息管理、读者信息管理、员工信息、系统设置等六个子模块,以及下属的增、删、查、改等功能;员工模块可以修改登录密码、按所需查询图书信息等两个子模块。如图3-1所示:各功能模块设计: l 员工登录账号信息模块:用于对员工登录账户信息的增与删功能。l 管理员模块:用于管理员修改登录系统的密码以子模块的管理。l 员工管理模块:员工、读者信息的增、删、查、改。l 管理员管理模块:管理员、员工、图书信息的增、
8、删、查、改。l 读者管理模块:图书信息的增、删、查、改。系统各部分主要的模块:一、系统登录简要说明及功能描述:该功能主要是用于确保用户在提供正确的登录信息,可以进一步进入本系统,并且根据用户所选择的不同权限身份验证信息,进入不同的模块单元。如果登录信息不正确,则会提示错误。登录流程如下图3-2所示:登录 失败处理错误提示查询验证成功登录相应的界面,进行操作。操作结束图3-2 登录模块流程图二、 员工和管理员的登录密码修改 简要说明及功能描述:管理员密码修改和教师密码修改分别为管理员和员工提供登录密码的修改功能,在原密码的基础上进行修改,再将新密码保存到数据库中。其流程图如图3-3所示: 图3-
9、3 修改过程结构图三、图书信息查询简要说明及功能描述:图书管理的查询模块,用于实现对现有图书的信息查询。显示全部,都将查询出所有图书信息;若选择了查询条件,则所查信息内必须输入精确的查询内容。所查信息的内容与查询条件的内容实现动态绑定,以方便查询。若查询条件已选,但所查信息为输入信息,则会判断您输入信息是否有效,若有效则进行查询。其流程图如图3-7所示: 图3-7 查询过程结构图3.2数据库的设计本系统采用sqlserver2005数据库管理系统,创建的数据库名称为:admin。数据库中包含主要表:用户帐号和密码信息表login、员工信息表clerk、读者信息表reader、图书信息表book
10、。各表功能及描述如表31所示:表3-1 数据库中的表表名作用login存储管理员的基本登录信息clerk存储员工的基本登录信息reader存储读者的基本信息book存储书籍的基本信息3.3库中各个表的设计一、登录信息表登录信息表login用于维护登录信息的基本情况,主键为逻辑主键num。表中各字段定义及描述如表3-2所示。表3-2 login表字段名数据类型长度是否允许为空是否主键字段意义numint-否 是逻辑主键lgoinidnvarchar50否 否 用户名loginpwdnvarchar50否 否 密码二、员工信息表员工信息表clerk用于维护员工的基本情况,主键为逻辑主键num。表中
11、各字段定义及描述如表3-3所示。表3-2 clerk表字段名 数据类型长度是否允许为空是否主键字段意义numint-否 是逻辑主键clerk nvarchar50否 否 姓名age nvarchar50否 否 年龄sex nvarchar50否 否 性别bookname nvarchar50否 否 书名三、图书信息表读者信息表reader用于维护读者的基本情况,主键为逻辑主键num。表中各字段定义及描述如表3-4所示。表3-4 reader表字段名 数据类型长度是否允许为空是否主键字段意义numint-否 是逻辑主键reader nvarchar50否 否 读者名称sexnvarchar50否
12、 否 读者性别ageint-否 否 读者年龄booknamenvarchar50否 否 借书名称四、图书信息表图书信息表book用于维护图书的基本情况,主键为逻辑主键num。表中各字段定义及描述如表3-7所示。表3-7 book表字段名 数据类型长度是否允许为空是否主键字段意义num Int -否 是 主键book nvarchar50否 否 书名booknum Int -否 否 数量第4章 系统实现4.1数据库操作类DBHelper类用于实现数据库的连接,以及用户登录时保存用户名和密码留备密码修改之用该类定义如下: class DBHelper public static string co
13、nnString = Data Source=.;Initial Catalog=MySchool;User ID=sa;Pwd=sql; / 数据库连接对象 public static SqlConnection connection = new SqlConnection(connString); 4.2登录模块实现本系统的登录界面如图4-1所示,输入姓名和密码,点击确定,判断用户名和密码是否正确,正确可进入系统不同权限的主界面,否则提示错误信息。点击取消,退出登录窗口。 图4-1 登录界面 SqlCommand cmd = new SqlCommand(); cmd.Connection
14、 = DBHelper.connection; cmd.CommandText = select * from loginclerk where loginid= + txtusername.Text + ; try DBHelper.connection.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (!reader.Read() MessageBox.Show(用户名不存在,请重新输入!, 错误, MessageBoxButtons.OK, MessageBoxIcon.Warning); else string strPsw
15、 = (string)readerloginpwd; if (txtpassword.Text.Trim() != strPsw.Trim() MessageBox.Show(密码错误,请重新输入!, 错误, MessageBoxButtons.OK, MessageBoxIcon.Warning); else reader.Close(); main2 Main2 = new main2(); Main2.Show(); this.Hide(); username = txtusername.Text.Trim(); password = txtpassword.Text.Trim(); c
16、atch (SqlException ex) MessageBox.Show(ex.Message); finally DBHelper.connection.Close(); 4.3 管理员登录密码修改模块实现本系统中的教师修改密码模块如图4-3-1所示,在教师密码修改的模块下,在原密码的基础上修改,将新密码保存到数据库中。 图4-3-1 密码修改界面 修改密码模块的代码: private void button3_Click(object sender, EventArgs e) SqlCommand cmd = new SqlCommand(); cmd.Connection = DBH
17、elper.connection; cmd.CommandText = update login set Loginpwd= + txtpassword.Text.Trim() + where Loginid= + txtusername.Text + ; try DBHelper.connection.Open(); if (cmd.ExecuteNonQuery() = 1) MessageBox.Show(修改成功!); catch (SqlException ex) MessageBox.Show(ex.Message); finally DBHelper.connection.Clo
18、se(); 4.4 员工管理的删除功能员工管理的删除模块,用于删除某一个员工的全部信息。选中要删除的信息后,会弹出提示对话框,是否确定删除,信息删除完成。删除界面如图4-4-1所示,是否确定删除对话框如图4-4-2所示,删除成功提示如图4-4-3所示: 图4-4-1 年级删除界面 图4-4-2 是否删除对话框 图4-4-3删除成功年级管理的删除模块代码: private void button2_Click(object sender, EventArgs e) if (dataGridView3.SelectedRows.Count 0) DialogResult result = Mess
19、ageBox.Show( 确认要删除该记录吗?, 操作提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result = DialogResult.Yes) foreach (DataGridViewRow dr in dataGridView3.SelectedRows) SqlCommand cmd1 = new SqlCommand(); cmd1.Connection = DBHelper.connection; DBHelper.connection.Open(); cmd1.CommandText = string
20、.Format(delete from clerk where clerk in (select num from clerk where num=0 ), dr.Cells0.Value.ToString(); cmd1.ExecuteNonQuery(); SqlCommand cmd2 = new SqlCommand(); cmd2.Connection = DBHelper.connection; cmd2.CommandText = string.Format(delete from clerk where clerk=0, dr.Cells0.Value.ToString();
21、4.5读者管理的添加模块读者管理的添加模块,用于添加一个新的读者号及借书名称。管理员输入专业的相关信息,进行添加,该模块会把输入的读者名称与数据库读者信息表reader中的条目进行比对,如果其中一项重复则会提示。添加界面如图4-5-1所示,添加成功如图4-5-2,添加读者重复提示如图4-5-3所示: 图4-5-1 读者添加界面 图4-5-2 读者添加成功 读者管理的添加模块代码: SqlCommand cmd = new SqlCommand(); cmd.Connection = DBHelper.connection; cmd.CommandText = select * from boo
22、k where book= + txtbookname.Text + ; DBHelper.connection.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (!reader.Read() MessageBox.Show(图书不存在,请重新输入!, 错误 , MessageBoxButtons.OK, MessageBoxIcon.Warning); return; else int number = (int)readerbooknum; if (number = 0) MessageBox.Show(图书已借完?!?请借阅其
23、他图书, 错误, MessageBoxButtons.OK, MessageBoxIcon.Warning); reader.Close(); cmd.CommandText = update book set booknum=booknum-1 where book= + txtbookname.Text + ; cmd.ExecuteNonQuery(); if (dataSet != null) dataSet.Clear(); string sql = ; sql = select num,reader,sex,age,bookname from reader; dataAdapter
24、 = new SqlDataAdapter(sql, DBHelper.connection); dt = dataSet.Tablesreader; int count = dt.Rows.Count; foreach (char a in txtnum.Text) if (a 9) MessageBox.Show(序列号不规范); return; for (int i = 0; i count; i+) if (txtnum.Text.Trim() = dt.Rowsi0.ToString() MessageBox.Show(序列不能重复!, 错误); return; dataAdapte
25、r.Fill(dataSet, reader); DataRow dr = dt.NewRow(); dr0 = txtnum.Text; dr1 = txtreadername.Text; dr2 = cmbsexcondition.Text; dr3 = txtage.Text; dr4 = txtbookname.Text; dt.Rows.Add(dr); count+; catch (SqlException) MessageBox.Show(出错了!); catch (Exception) MessageBox.Show(出错了!); 4.7图书管理查询模块图书管理的查询模块,用于
26、实现对现有图书的信息查询。显示全部,都将查询出所有图书信息;若选择了查询条件,则所查信息内必须输入精确的查询内容。所查信息的内容与查询条件的内容实现动态绑定,以方便查询。若查询条件已选,但所查信息为输入信息,则会判断您输入则会判断您输入信息是否有效,若有效则进行查询。图书信息查询的界面如图4-7-1所示: 图 4-7-1 图书信息查询界面图书管理的查询模块代码: string sql = ; if (cmbcondition.Text.Trim() = ) / 查询数据库用的SQL语句 sql = select num ,book,booknum from book; else switch
27、(cmbcondition.Text) case 序列号: sql = string.Format(select num,book,booknum from book where num =0, txtcondition.Text.Trim(); break; case 书籍名称: sql = string.Format(select num,book,booknum from book where book =0, txtcondition.Text.Trim(); break; / 创建数据适配器对象 dataAdapter = new SqlDataAdapter(sql, DBHelp
28、er.connection); / 创建数据集对象 dataSet = new DataSet(); / 填充数据集 dataAdapter.Fill(dataSet, book); / 指定DataGridView的数据源 dgvbook.DataSource = dataSet.Tablesbook; 第5章 系统使用说明系统的用户权限分为管理员和员工。员工不仅修改自身账户密码,还可以查询图书信息的功能;管理员拥有本系统的最高使用权限,不仅能够修改自身的账户密码,还能对员工账户信息进行查询、添加、删除处理,以及对员工信息、图书信息、读者信息的增、删、查、改功能。对于员工用户,可通过管理员添
29、加自己的账户、密码信息,凭此信息可以登录本系统的员工界面,能够执行对自身密码的修改,能够方便的查询图书信息。一、 管理员有管理员工登录账户信息的权限,可以实现对员工账户的查询、添加、删除功能,但无修改用户名及密码的功能。二、 员工对于图书的信息只有查询权限,而没有修改和删除的权限。第6章 课程设计总结6.1 主要问题及解决办法本次课程设计用时长,同时遇到了很多大大小小的问题,一开始数据库建设的不合理,所以导致后面弥补的成分太多。还有如何实现窗体间、数据库间的传递关系,在登录界面后如何进入不同的界面。想到了控件TabControl的用法。最初是用弹出不同窗体来实现不同模块的切换的,但窗体过多,显
30、得麻烦而且不易操作。使用了TabControl控件以后,将繁琐的多窗体结构在一个窗体中实现,方便而且结构清晰。在子模块中,修改的数据不会保存到数据库中,虽然在文本中将信息修改了,但下次查询的时候却依然显示原来的信息,后来经上网查询,知道了如何将修改的数据保存至数据库中,问题得以解决。6.2 课程设计体会 熟话说,一个好的谋划是成功了一半,开始没谋划,直接下手,导致在后来的数据库中的数据比较乱,后来在数据库的级联中更是错误频频。之后在数据库中将数据重新书写,分组,总算解决了问题,简单的实现了信息的增、删、查、改等功能,在一些自己无法解决的问题上请教同学或老师,经过俩周的摸爬滚打,终于基本完成了这个系统。在课设中,不仅学到了许多了课外的东西,也进一步加深了我对C#的功能实现的可观性,实践能力有所提高,思考分析得到有效的锻炼。这为我将来自主学习编程来说,是一次很有深刻意义的锻炼和宝贵的一次经验。6.3 自我评定主要是基础没有夯实,再加上有些内容课上没有提到,以至于在做的时候俩眼一抹黑。但是能熬过这俩周,还算不错,说明还能在编程这座桥上行走。参考文献1 郑阿奇,梁敬东主编.C#程序设计教程机械工业出版社,2007,92 张海藩主编.软件工程导论第五版 清华大学出版社,2008,2指导教师评语及设计成绩 评 语 课程设计成绩: 指导教师: 日期: 年 月 日
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922