收藏 分销(赏)

数据库课程设计书籍销售管理系统.doc

上传人:精**** 文档编号:2228448 上传时间:2024-05-23 格式:DOC 页数:37 大小:1.02MB 下载积分:12 金币
下载 相关 举报
数据库课程设计书籍销售管理系统.doc_第1页
第1页 / 共37页
数据库课程设计书籍销售管理系统.doc_第2页
第2页 / 共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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服