电子商务1202邹婉馨课程实验报告.doc_第1页
电子商务1202邹婉馨课程实验报告.doc_第2页
电子商务1202邹婉馨课程实验报告.doc_第3页
电子商务1202邹婉馨课程实验报告.doc_第4页
电子商务1202邹婉馨课程实验报告.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南涉外经济学院课程设计报告课程名称: c#程序设计 报告题目: 图书管理系统的设计与实现 学生姓名: 邹婉馨 所在学院: 信息科学与工程学院 专业班级: 电商201202班 学生学号: 25 指导教师: 王菁/彭珊珊 2013年 12 月 27 日课程设计任务书报告题目*管理系统的设计与实现完成时间2013.12.27学生姓名邹婉馨专业班级电子商务1202指导教师王/彭职称讲师总体设计要求和技术要点以“学校教材信息管理系统”为例,请大家根据自己的系统做相应修改!设计对n本教材进行管理的学校教材信息管理系统,每本教材信息包括教材编号、教材名称、作者、出版社、出版时间、单价、订购数量。系统功能包括:1、系统以菜单方式工作,密码登陆。2、教材信息的录入功能(增加数据)。采用结构体存放教材信息。(本书第九章,请自行学习)。也可采用多维数组存放。3、教材信息的删除(删除数据)。任意输入一本教材的编号,可以将它所有的信息删除。4、教材信息的浏览功能(查找数据)。任意输入一本教材的编号或是教材的名称,显示出所有相关数据。要求能多次查找。5、教材信息的修改(修改数据)。任意输入一门课程的编号,显示出所有相关信息后,给出提示菜单,可选择对某一项信息进行修改并保存。6、教材信息的排序。可以将所有教材按单价进行排序,若使用排序功能,则将所有教材的信息按单价从低到高依次显示出来。工作内容及时间进度安排12.16需求分析、概要设计12.17详细设计、建立数据库12.18登录模块12.19用户管理模块12.23系统主模块12.24数据库备份模块12.25调试程序、部署系统12.26撰写文档12.27答辩,提交文档课程设计成果1设计图书管理系统2课程设计报告摘 要 本文论述了分析、开发、设计、测试一个学校教材管理系统的过程。该系统融入教材管理、规范的现代管理思想,为提高工作效率,相对高的集成了教材的主要业务的信息查询、修改、管理等,使各项业务工作制度化、科学化、高效化。结合先进的计算机技术,使用Visual Studio 2010和SQL Server2005开发而成。关键词:图书管理 ;Visual Studio 2010 ;Microsoft SQL server 20053目 录一、概述11、课题研究现状分析12、目的与意义1二、需求分析11、用户调查12、图书管理系统数据流程图13、数据字典.1三、数据库设计1四、详细设计1五、结论与心得3六、参考文献3一、概述本报告以关系数据库为核心,按照系统规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护的模式设计对图书管理系统进行编写。按照理论联系实际以现今最流行的关系数据库管理系统-SQL Server 2005及其使用的Transact-SQL语言为应用完成了各种主要应用的操作。1、 课题研究现状分析 在现在信息化发达的社会,图书的发行量与日俱增。传统的图书馆需要制作有署名于对应编号的书卡,由读者按分类查找在交由图书管理员来处理借书工作,还书也要人工翻阅大量的记录,这样使得工作量大并且极其繁琐,效率很低。因此有必要设计这个系统,对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于管理效率的提高。2、目的与意义 目的:对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。提高图书馆的工作效率,家底管理成本。意义:通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书众所讲解的内容。二、需求分析这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。通过这些信息使之提供以下功能:(1) 图书信息创建功能。其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。(图书信息用文件保存)。(2) 图书信息查看功能。用来查看各项图书信息。(3) 图书信息查找功能。通过已知信息来查找想要的图书。(4)图书信息的删除。可以删除特定图书。(5)图书信息的修改。可以修改图书的各项信息。(6)图书信息的排序功能。按图书信息对录入的图书进行排序。 (7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能。1、 用户调查 1.图书馆工作人员对功能的需求 职工信息的输入,查询,修改; 书籍信息的输入,查询,修改; 借书信息的输入; 还书信息的输入; 读者信息的查询。 2.读者对功能的需求 图书信息检索:包括通过书名、作者、出版社、类别等。 读者个人信息的输入、查询、修改。建立读者个人信息档案,获取当前读者个人信息。 并记录该学号读者的借还情况。2、 图书管理系统数据流程图 3、 数据字典 图书信息表 读者信息表 借阅图书信息表3、 数据库设计本系统使用的数据库名为图书管理系统,根据已设计的关系模式及各模式的完整性要求,现在可以在SQLServer2005数据库系统中实现这些逻辑结构,下面是创建基本表的SQL语句:Createtable读者信息(密码char(10)notnull,姓名char(30)notnullprimarykey,备注char(100),)Createtable图书信息流水号char(10)notnullprimarykey,书名char(50)notnull,作者char(30)notnull,价格money,出版社char(50),出版日期char(10),是否借出char(5),)Createtable借阅图书信息(流水号char(10)notnull,书名char(50)notnull,借书日期datetimenotnull,应还日期datetimenotnull,归还标记char(5)notnull,4、 详细设计本系统使用的数据库名为图书管理系统,根据已设计的关系模式及各模式的完整性要求,现在可以在SQLServer2005数据库系统中实现这些逻辑结构以及程序设计部分代码。如下:数据库的表:界面:源代码:添加:private void btnAdd_Click(object sender, EventArgs e) try if (btnAdd.Text.Trim() = 添加) btnAdd.Text = 确定; ObjOpen(); ClearAll(); RefreshData(); btnUpdate.Enabled = false; btnDelete.Enabled = false; btnClose.Enabled = false; cmbSelect.Enabled = false; txtSelect.Enabled = false; btnSelect.Enabled = false; btnAll.Enabled = false; dgrdvStudent.Enabled = false; return; else if (txtNo.Text.Trim() = ) MessageBox.Show(编号?不?能为a空?!, 提示?); txtNo.Focus(); return; else if (txtName.Text.Trim() = ) MessageBox.Show(姓?名?不?能为a空?!, 提示?); txtName.Focus(); return; else if (cmbSex.SelectedIndex = -1) MessageBox.Show(请?先选?择?性?别e再添加!, 提示?); cmbSex.Focus(); return; else if (txtAge.Text = ) MessageBox.Show(请?输?入?年龄?!, 提示?); txtAge.Focus(); return; else if (txtDept.Text.Trim() = ) MessageBox.Show(请?输?入?学院o!, 提示?); txtDept.Focus(); return; else if (!No(txtNo.Text.Trim() MessageBox.Show(该?编号?已?存?在!, 提示?); txtNo.Text = ; txtNo.Focus(); return; btnAdd.Text = 添加; string sqlStr1, sqlStr2; string psw = CPublic.GetMd5Str(txtNo.Text.Trim(); sqlStr1 = insert into tbl_Student values( + txtNo.Text.Trim() + , + txtName.Text.Trim() + , + cmbSex.Text.Trim() + , + txtAge.Text.Trim() + , + txtDept.Text.Trim() + ); sqlStr2 = insert into tbl_User values( + txtNo.Text.Trim() + , + psw.Trim() + ,作者?用?户,是?); CDataBase.UpdateDB(sqlStr1); CDataBase.UpdateDB(sqlStr2); RefreshData(); if (MessageBox.Show(添加成功|!继续?添加吗e?, 添加书籍?, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes) ClearAll(); ObjOpen(); btnAdd.Text = 确定; else ObjClose(); btnUpdate.Enabled = true; btnDelete.Enabled = true; btnClose.Enabled = true; cmbSelect.Enabled = true; txtSelect.Enabled = true; btnSelect.Enabled = true; btnAll.Enabled = true; dgrdvStudent.Enabled = true; catch (Exception ex) CDataBase.conn.Close(); MessageBox.Show(ex.Message); ClearAll(); ObjClose(); btnUpdate.Enabled = true; btnDelete.Enabled = true; btnClose.Enabled = true; cmbSelect.Enabled = true; txtSelect.Enabled = true; btnSelect.Enabled = true; btnAll.Enabled = true; dgrdvStudent.Enabled = true; dgrdvStudent_RowHeaderMouseClick(null, null); 修改:private void btnUpdate_Click(object sender, EventArgs e) try if (btnUpdate.Text.Trim() = 修T改?) btnUpdate.Text = 确定; btnAdd.Enabled = false; btnDelete.Enabled = false; btnClose.Enabled = false; cmbSelect.Enabled = false; txtSelect.Enabled = false; btnSelect.Enabled = false; btnAll.Enabled = false; txtName.Enabled = true; txtAge.Enabled = true; cmbSex.Enabled = true; txtDept.Enabled = true; txtName.Focus(); else btnUpdate.Text = 修T改?; btnAdd.Enabled = true; btnDelete.Enabled = true; btnClose.Enabled = true; cmbSelect.Enabled = true; txtSelect.Enabled = true; btnSelect.Enabled = true; btnAll.Enabled = true; ObjClose(); string sqlStr; sqlStr = update tbl_Student set Sname= + txtName.Text.Trim() + ,Ssex= + cmbSex.Text.Trim() + ,Sage= + txtAge.Text.Trim() + ,Sdept= + txtDept.Text.Trim() + where Sno= + txtNo.Text.Trim() + ; CDataBase.UpdateDB(sqlStr); RefreshData(); catch (Exception ex) CDataBase.conn.Close(); MessageBox.Show(ex.Message); private void btnDelete_Click(object sender, EventArgs e) try if (txtNo.Text.Trim() = ) MessageBox.Show(没?有D可删?除y的?记?录?!, 提示?); return; string sqlStr; sqlStr = select * from tbl_SelectCourse where Sno= + txtNo.Text.Trim() + ; if (CDataBase.GetDataFromDB(sqlStr) != null) MessageBox.Show(已?有D该?书籍?信?息,不?能删?除y该?书籍?!, 删?除y出?错, MessageBoxButtons.OK, MessageBoxIcon.Error); return; else if (MessageBox.Show(确定要a删?除y书籍?“ + txtName.Text.Trim() + ”吗e?, 删?除y书籍?, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes) string sqlStr1, sqlStr2, sqlStr3; sqlStr1 = delete from tbl_Student where Sno= + txtNo.Text.Trim() + ; sqlStr2 = delete from tbl_Information where userName= + txtNo.Text.Trim() + ; sqlStr3 = delete from tbl_User where userName= + txtNo.Text.Trim() + ; CDataBase.UpdateDB(sqlStr1); CDataBase.UpdateDB(sqlStr2); CDataBase.UpdateDB(sqlStr3); int n = dgrdvStudent.CurrentCell.RowIndex; dgrdvStudent.Rows.RemoveAt(n); if (dgrdvStudent.Rows.Count = 1) ClearAll(); dgrdvStudent.DataSource = null; else dgrdvStudent_RowHeaderMouseClick(null, null); catch (Exception ex) CDataBase.conn.Close(); MessageBox.Show(ex.Message); private void cmbSelect_SelectedIndexChanged(object sender, EventArgs e) txtSelect.Text = ; txtSelect.Focus(); 删除:private void btnDelete_Click(object sender, EventArgs e) try if (txtNo.Text.Trim() = ) MessageBox.Show(没?有D可删?除y的?记?录?!, 提示?); return; string sqlStr; sqlStr = select * from tbl_SelectCourse where Sno= + txtNo.Text.Trim() + ; if (CDataBase.GetDataFromDB(sqlStr) != null) MessageBox.Show(已?有D该?书籍?信?息,不?能删?除y该?书籍?!, 删?除y出?错, MessageBoxButtons.OK, MessageBoxIcon.Error); return; else if (MessageBox.Show(确定要a删?除y书籍?“ + txtName.Text.Trim() + ”吗e?, 删?除y书籍?, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes) string sqlStr1, sqlStr2, sqlStr3; sqlStr1 = delete from tbl_Student where Sno= + txtNo.Text.Trim() + ; sqlStr2 = delete from tbl_Information where userName= + txtNo.Text.Trim() + ; sqlStr3 = delete from tbl_User where userName= + txtNo.Text.Trim() + ; CDataBase.UpdateDB(sqlStr1); CDataBase.UpdateDB(sqlStr2); CDataBase.UpdateDB(sqlStr3); int n = dgrdvStudent.CurrentCell.RowIndex; dgrdvStudent.Rows.RemoveAt(n); if (dgrdvStudent.Rows.Count = 1) ClearAll(); dgrdvStudent.DataSource = null; else dgrdvStudent_RowHeaderMouseClick(null, null); catch (Exception ex) CDataBase.conn.Close(); MessageBox.Show(ex.Message); private void cmbSelect_SelectedIndexChanged(object sender, EventArgs e) txtSelect.Text = ; txtSelect.Focus(); 查询: private void btnSelect_Click(object sender, EventArgs e) try string sqlStr = ; if (txtSelect.Text.Trim() = ) MessageBox.Show(请?输?入?需要a查询的?“ + cmbSelect.SelectedItem.ToString().Trim() + ”!, 提示?); return; else if (cmbSelect.SelectedIndex = 0) sqlStr = select * from tbl_Student where Sno= + txtSelect.Text.Trim() + ; else if (cmbSelect.SelectedIndex = 1) sqlStr = select * from tbl_Student where Sname= + txtSelect.Text.Trim() + ; else if (cmbSelect.SelectedIndex = 2) sqlStr = select * from tbl_Student where Ssex= + txtSelect.Text.Trim() + ; else if (cmbSelect.SelectedIndex = 3) sqlStr = select * from tbl_Student where Sage= + txtSelect.Text.Trim() + ; else if (cmbSelect.SelectedIndex = 4) sqlStr = select * from tbl_Student where Sdept= + txtSelect.Text.Trim() + ; DataSet ds = new DataSet(); ds = CDataBase.GetDataFromDB(sqlStr); if (ds != null) dgrdvStudent.DataSource = ds.Tables0; dgrdvStudent.Columns0.HeaderText = 读者?编号?; dgrdvStudent.Columns0.Width = 168; dgrdvStudent.Columns1.HeaderText = 书名?; dgrdvStudent.Columns1.Width = 159; dgrdvStudent.Columns2.HeaderText = 性?别e; dgrdvStudent.Columns2.Width = 88; dgrdvStudent.Columns3.HeaderText = 价?格?; dgrdvStudent.Columns3.Width = 88; dgrdvStudent.Columns4.HeaderText = 作者?; dgrdvStudent.Columns4.Width = 238; dgrdvStudent_RowHeaderMouseClick(null, null); else dgrdvStudent.DataSource = null; ClearAll(); MessageBox.Show(没?有D符?合?条?件t的?学生记?录?!, 提示?); catch (Exception ex) CDataBase.conn.Close(); MessageBox.Show(ex.Message); 全部: private void btnAll_Click(object sender, EventArgs e) try RefreshData(); catch (Exception ex) CDataBase.conn.Close(); MessageBox.Show(ex.Message); 退出: private void btnClose_Click(object sender, EventArgs e) this.Close(); 设置作者信息: private void btnSetInformation_Click(object sender, EventArgs e) try if (txtName.Text.Trim() = ) MessageBox.Show(姓?名?不?能为a空?, 提示?); txtName.Focus(); return; else if (txtAnswer1.Text.Trim() = ) MessageBox.Show(请?输?入?第一?个?问题a的?答e案?, 提示?); txtAnswer1.Focus(); return; else if (txtAnswer2.Text.Trim() = ) MessageBox.Show(请?输?入?第二t个?问题a的?答e案?, 提示?); txtAnswer2.Focus(); return; else if (txtAnswer3.Text.Trim() = ) MessageBox.Show(请?输?入?第三y个?问题a的?答e案?, 提示?); tx

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论