数据库课程设计书籍销售管理系统.doc
《数据库课程设计书籍销售管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计书籍销售管理系统.doc(37页珍藏版)》请在咨信网上搜索。
理工大学2013级数据库课程设计说明书 理工大学工学院 数据库课程设计报告 题目: 书籍销售管理系统 专业: 计算机科学与技术 年级: 姓名: 学号: 成绩: 评语: 目 录 第一章 概述 1 1.1 系统需求 1 1.2 功能分析 1 1.3 系统环境需求 1 第二章 系统设计 2 2.1 功能模块设计 2 2.2 逻辑结构设计 2 2.3 概念结构设计 4 2.4 界面、代码设计 6 2.4.1 用户登录界面的实现(杨炼) 6 2.4.2 主界面的设计(舒恒) 7 2.4.3 系统管理的设计(何在逸) 8 1、添加账号 10 2、修改管理 10 2.4.4 书籍信息管理界面的设计(钟鹏) 12 1、基本资料信息 13 2、图书销售信息 13 3、入库管理信息 17 4、订单管理信息 19 2.4.5 客户信息管理界面的设计(叶丽艳) 22 2.4.6 关于界面的设计 27 第三章 结论 32 理工大学2012级数据库课程设计说明书 第一章 概述 1.1 系统需求 传统的书籍销售管理方法,都是通过人工统计和计算的管理方式进行的。这样的管理方法不但费时费力,也容易产生计算上的错误和疏漏;计算机技术的全面普及,打破了书店管理的传统管理方法,提高了管理效率的同时,克服了传统管理方法中易产生的问题,使管理员能够有序的、全面的对图书销售和库存进行管理。可以快速完成任务,如图书资料、图书销售、入库信息、订单信息、客户信息等功能,迅速准确地对已售图书和剩余库存进行统计工作,提高了书店的管理效率和准确性。 1.2 功能分析 用户登录:为保护安全,设置了开启密码,如用户名、密码。 系统管理:管理用户,如添加账号、修改(密码)管理、注销、退出。 图书仓库管理:记录仓库的信息,如图书基本资料、图书入库管理。 图书销售管理:记录销售信息,如客户订单、订单管理、图书销售管理。 图书基本资料:记录书籍的相关信息,如图书号、书籍名称、作者、出版社等。 图书入库管理:记录入库的相关信息,如图书号、数量、单价、入库日期等。 客户信息管理:登记客户购买书籍信息,如添加、修改、删除、更新用户,查询用户等 订单信息管理:查询订单书籍的信息,如创建、修改、删除、更新订单,查询订单等 1.3 系统环境需求 本系统的前端开发工具是Microsoft Visual Studio 2015,后台数据库引擎选用数据库软件 Access 2013。 第二章 系统设计 2.1 功能模块设计 画出如图2.1所示的系统的整体结构图 书籍销售管理系统 添加用户 系统管理 图书仓库管理 图书销售管理 退出 注销 修改管理 图书入库管理 图书基本资料 图书销售管理 订单管理 客户管理 图2.1.1系统的整体结构图 2.2 逻辑结构设计 系统数据库名称为书籍销售管理系统,数据库中包括:用户密码表、基本资料表、图书销售表、入库管理表、订书信息表、客户信息表。 下面列出各个表的数据结构如表2.2-1~表2.2-6所示。 表2.2-1 用户密码表的数据结构 表2.2-2 基本资料表的数据结构 表2.2-3 图书销售表的数据结构 表2.2-4 入库管理表的数据结构 表2.2-5 订单信息表的数据结构 表2.2-6 客户信息表的数据结构 下面给各个表的数据如图2.2.7~图2.2.12所示。 图2.2-7 用户密码的数据 图2.2-8 基本资料的数据 图2.2-9 图书销售的数据 图2.2-10 入库管理的数据 图2.2-11 订单信息的数据 图2.2-12 客户信息的数据 2.3 概念结构设计 将逻辑结构设计的逻辑结构转化成概念结构,把表结构转化成了E-R图和关系图。 图2.3-1 书籍销售管理系统的E-R图 图2.3-2 书籍销售管理系统的关系图 2.4 界面、代码设计 2.4.1 用户登录界面的实现(杨炼) 用户登录界面主要完成对用户名及密码的输入如图2.4.1所示(用户名为123,密码为123)。由该系统正确输入用户名和密码后方可成功登录,系统转至应用程序主界面,否则显示“请输入用户名和密码”的提示对话框。输入用户名和密码之后可按回车键实现登录。 图2.4.1 用户登录界面 用户登录的代码如下: private void button1_Click(object sender, EventArgs e) { String CString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=书籍销售管理.MDB"; OleDbConnection MyCon = new OleDbConnection(CString); MyCon.Open(); OleDbCommand MyCom = new OleDbCommand(); MyCom.Connection = MyCon; //以上代码连接并打开数据库 MyCom.CommandText = "Select * from 用户密码 where 用户名=" + "'" + textBox1.Text + "'"; //根据登录界面输入的信息去查询数据库内容 OleDbDataReader QQ; QQ = MyCom.ExecuteReader(); if (QQ.Read() == true) //若用户名存在,则为“true”,否则为“false” { if (QQ["密码"].ToString() == textBox2.Text) { MessageBox.Show("登录成功!欢迎使用系统", "用户登录"); this.Hide(); 书籍销售管理系统 书籍销售管理系统 = new 书籍销售管理系统(); 书籍销售管理系统.Show(); } else { MessageBox.Show("密码错误!请重新输入", "密码错误"); textBox2.Focus(); } } else { MessageBox.Show("用户名不存在!", "提示"); textBox1.Focus(); } } private void button2_Click(object sender, EventArgs e) { MessageBox.Show("谢谢!!欢迎下次使用!!!", "退出"); textBox1.Focus(); this.Close(); } 2.4.2 主界面的设计(舒恒) 主界面设计是为了显示本系统所有的功能菜单项,并且把用户经常用到的功能设计成菜单项,以方便操作,然后当用户单击相应的菜单项或菜单按钮时,打开相应的模块窗口,如图2.4.2-1—2.4.2-2所示。 图2.4.2-1 主菜单界面 图2.4.2-2 主菜单的窗口界面 主菜单的代码如下: private void 添加账号ToolStripMenuItem_Click(object sender, EventArgs e) { 添加账号 添加账号 = new 添加账号(); 添加账号.Show(); } private void 修改管理ToolStripMenuItem_Click(object sender, EventArgs e) { 修改管理 修改管理 = new 修改管理(); 修改管理.Show(); } private void 注销ToolStripMenuItem_Click(object sender, EventArgs e) { 注销 注销 = new 注销(); 注销.Show(); } private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("谢谢!!欢迎下次使用!!!", "退出"); this.Close(); } private void 图书基本资料ToolStripMenuItem_Click(object sender, EventArgs e) { 图书基本资料 图书基本资料 = new 图书基本资料(); 图书基本资料.Show(); } private void 图书入库管理ToolStripMenuItem_Click(object sender, EventArgs e) { 图书入库管理 图书入库管理 = new 图书入库管理(); 图书入库管理.Show(); } private void 客户管理ToolStripMenuItem_Click(object sender, EventArgs e) { 客户管理 客户管理 = new 客户管理(); 客户管理.Show(); } private void 订单管理ToolStripMenuItem_Click(object sender, EventArgs e) { 订单管理 订单管理 = new 订单管理(); 订单管理.Show(); } private void 图书销售管理ToolStripMenuItem1_Click(object sender, EventArgs e) { 图书销售管理 图书销售管理 = new 图书销售管理(); 图书销售管理.Show(); } private void 关于ToolStripMenuItem_Click(object sender, EventArgs e) { 关于 关于 = new 关于(); 关于.Show(); } 2.4.3 系统管理的设计(何在逸) 1、添加用户设计 想要添加用户也可以选择【系统管理】—【添加用户】功能如图2.4.3-1所示。如果输入两次密码不一致的话,系统就会显示“两次密码输入不一致”的警告对话框。 图2.4.3-1 添加用户界面 添加用户的代码如下: private void button1_Click(object sender, EventArgs e) { string CString = "Provider=microsoft.Jet.OLEDB.4.0;Data Source=书籍销售管理.MDB"; OleDbConnection MyCon = new OleDbConnection(CString); if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "") MessageBox.Show("请输入完整信息!", "提示"); else { if (textBox2.Text.Trim() != textBox3.Text.Trim()) MessageBox.Show("两次密码输入不一致!", "警告"); else { MyCon.Open(); string sql = "select * from 用户密码 where 用户名 = '" + textBox1.Text.Trim() + "'"; OleDbCommand cmd = new OleDbCommand("", MyCon); cmd.CommandText = sql; if (null == cmd.ExecuteScalar()) { sql = "insert into 用户密码(用户名,密码) values ('" + textBox1.Text.Trim() + "','" + textBox2.Text.Trim() + "')"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); MessageBox.Show("恭喜您!添加成功!", "提示"); this.Close(); } else MessageBox.Show("用户名已存在!请重新输入其他的用户名!", "提示"); MyCon.Close(); } } 2、修改密码设计 想要修改密码也可以选择【系统管理】—【修改密码】功能如图2.4.3-2所示。 图2.4.3-2 修改密码界面 修改密码的代码如下: private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim() == "") MessageBox.Show("请填写完整信息!", "提示"); else { string CString = "Provider=microsoft.Jet.OLEDB.4.0;Data Source=书籍销售管理.MDB"; OleDbConnection MyCon = new OleDbConnection(CString); MyCon.Open(); OleDbCommand cmd = new OleDbCommand("", MyCon); string Sql = "select * from 用户密码 where 用户名 = '" + textBox1.Text.Trim() + "' and 密码 ='" + textBox2.Text.Trim() + "'"; cmd.CommandText = Sql; if (null != cmd.ExecuteScalar()) { if (textBox3.Text.Trim() != textBox4.Text.Trim()) MessageBox.Show("两次密码输入不一致!", "警告"); else { Sql = "update 用户密码 set 密码='" + textBox3.Text.Trim() + "' where 用户名='" + textBox1.Text.Trim() + "'"; cmd.CommandText = Sql; cmd.ExecuteNonQuery(); MessageBox.Show("密码修改成功!", "提示"); this.Close(); } } else MessageBox.Show("密码错误!请重新输入密码!", "提示"); MyCon.Close(); } } } 2.4.4 书籍信息管理界面的设计(钟鹏) 1、基本资料信息 选择【基本资料管理】—【基本资料】命令可查看所有书籍的信息界面如图2.4.4-1所示。 图2.4.4-1基本资料界面 基本资料的代码如下: private void 图书基本资料_Load(object sender, EventArgs e) { // TODO: 这行代码将数据加载到表“基本资料DataSet.基本资料”中。您可以根据需要移动或删除它。 this.基本资料TableAdapter.Fill(this.基本资料DataSet.基本资料); // 禁止表格显示新增行 dataGridView1.AllowUserToAddRows = false; // 禁止用户直接编辑表格 dataGridView1.ReadOnly = true; } private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString(); textBox2.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); textBox3.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); textBox4.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString(); textBox5.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString(); textBox6.Text = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString(); } private bool CheckIfBookNumExist(string bookNum) { if (基本资料TableAdapter.Connection.State != ConnectionState.Open) { 基本资料TableAdapter.Connection.Open(); } string Sqlstr; Sqlstr = "select * from 基本资料 where 图书号 = " + bookNum; OleDbCommand cmd = new OleDbCommand(); cmd.Connection = 基本资料TableAdapter.Connection; cmd.CommandType = CommandType.Text; cmd.CommandText = Sqlstr; OleDbDataAdapter da = new OleDbDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); return ds.Tables[0].Rows.Count > 0; } private void 添加button_Click(object sender, EventArgs e) { if (CheckIfBookNumExist(textBox1.Text)) { MessageBox.Show("图书号已经存在,不能添加!"); return; } // 判断连接是否打开,若未打开则手工打开 if (基本资料TableAdapter.Connection.State != ConnectionState.Open) { 基本资料TableAdapter.Connection.Open(); } string Sqlstr; Sqlstr = "insert into 基本资料 values(" + textBox1.Text + ",'" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "'," + textBox5.Text + "," + textBox6.Text + ")"; 基本资料TableAdapter.Adapter.InsertCommand.CommandText = Sqlstr; 基本资料TableAdapter.Adapter.InsertCommand.CommandType = CommandType.Text; 基本资料TableAdapter.Adapter.InsertCommand.ExecuteNonQuery(); // 执行命令 基本资料TableAdapter.Fill(基本资料DataSet.基本资料); } private void 清除button_Click(object sender, EventArgs e) { textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = textBox5.Text = textBox6.Text = ""; } private void 更新button_Click(object sender, EventArgs e) { // 判断连接是否打开,若未打开则手工打开 if (基本资料TableAdapter.Connection.State != ConnectionState.Open) { 基本资料TableAdapter.Connection.Open(); } string Sqlstr; Sqlstr = "select * from 基本资料"; 基本资料TableAdapter.Adapter.SelectCommand.CommandText = Sqlstr; 基本资料TableAdapter.Adapter.SelectCommand.CommandType = CommandType.Text; 基本资料TableAdapter.Adapter.SelectCommand.ExecuteNonQuery(); // 执行命令 基本资料TableAdapter.Fill(基本资料DataSet.基本资料); } private void 查询button_Click(object sender, EventArgs e) { string Sqlstr; Sqlstr = "select * from 基本资料 where 图书号 = " + textBox1.Text; 基本资料TableAdapter.Adapter.SelectCommand.CommandText = Sqlstr; 基本资料TableAdapter.Adapter.SelectCommand.CommandType = CommandType.Text; 清除button_Click(null, null); // 显示前进行手工清除 基本资料TableAdapter.Fill(基本资料DataSet.基本资料); } private void 删除button_Click(object sender, EventArgs e) { // 判断连接是否打开,若未打开则手工打开 if (基本资料TableAdapter.Connection.State != ConnectionState.Open) { 基本资料TableAdapter.Connection.Open(); } string Sqlstr; Sqlstr = "delete from 基本资料 where 图书号 = " + textBox1.Text; 基本资料TableAdapter.Adapter.DeleteCommand.CommandText = Sqlstr; 基本资料TableAdapter.Adapter.DeleteCommand.CommandType = CommandType.Text; 基本资料TableAdapter.Adapter.DeleteCommand.ExecuteNonQuery(); // 执行命令 基本资料TableAdapter.Fill(基本资料DataSet.基本资料); } } 2、图书销售信息 选择【图书销售管理】—【图书销售】命令可对书籍信息进行图书销售(如图2.4.4-2所示),如条形码、图书号、图书名称、季度、单价、数量。 图2.4.4-2 图书销售界面 图书销售的代码如下: private void 图书销售管理_Load(object sender, EventArgs e) { // TODO: 这行代码将数据加载到表“图书销售DataSet1.图书销售”中。您可以根据需要移动或删除它。 this.图书销售TableAdapter.Fill(this.图书销售DataSet1.图书销售); // 禁止表格显示新增行 dataGridView1.AllowUserToAddRows = false; // 禁止用户直接编辑表格 dataGridView1.ReadOnly = true; } private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString(); textBox2.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); textBox3.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); textBox4.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString(); textBox5.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString(); textBox6.Text = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString(); } private void 结束销售button_Click(object sender, EventArgs e) { double a, b, c, sum; a = Convert.ToSingle(数量textBox.Text); b = Convert.ToSingle(单价textBox.Text); c = Convert.ToSingle(textBox6.Text); if (a <= c) { sum = a * b; 结果计算textBox.Text = Convert.ToString(sum); } else { MessageBox.Show("不要超过数量!请重新输入数量", "提示"); } } private void 输入单价button_Click(object sender, Even- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 书籍 销售 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文