电脑销售管理系统 数据库课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库原理与应用课程设计(论文) 电脑销售管理系统
院(系)名称电子与信息工程学院专业班级软件工程
学号140403038
学生姓名
指导教师
起止时间:2016.7.6—2015.7.15
课程设计(论文)任务及评语
院(系):电子与信息工程学院教研室:软件工程
摘要
电脑管理是通过采购、仓储、综合、出库、配送等活动,解决物资供需之间存在的时间、空间、数量、品种、价格等方面的矛盾,以此衔接社会生产的各环节,从而确保生产的顺利进行。

随着社会经济的发展,当企业的物流业务发展到一定规模之后,执行效率就成为物流发展的瓶颈。

计算机信息管理技术的迅速发展恰恰解决了这个问题,它使计算机技术与现代管理技术相互配合,来更加准确、高速地完成工业企业日常的电脑销售管理工作,使企业能够以最少的人员来完成更多的工作。

系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

本系统使用SQL Server 2008建立数据库后台,使用C#进行前台界面和处理程序的开发,前者建立成数据一致性和完整性强、数据安全性好的数据库,而后者具有应用程序功能完备,易使用等特点。

关键词:电脑;销售管理系统;C#
目录
第1章绪论 (1)
1.1研究背景 (1)
1.2开发意义 (1)
第2章系统需求分析 (2)
2.1开发环境和软件 (2)
2.2 Microsoft Visual Studio (2)
2.3 SQL Server数据库 (3)
2.4系统功能分析 (4)
第3章系统设计 (5)
3.1系统功能结构设计 (5)
3.2数据库概念结构设计 (5)
3.3数据库逻辑结构设计 (6)
3.4数据库实现 (6)
3.4.1数据库关系图 (6)
3.4.2 SQL语句实现 (6)
第4章系统实现 (9)
4.1用户登录界面 (9)
4.2主要功能界面 (9)
4.2.1主界面 (9)
4.2.2电脑信息界面 (10)
4.2.3商品管理界面 (12)
4.2.4店面信息查询界面 (13)
4.2.5其他界面 (13)
第5章课设总结 (15)
参考文献 (16)
第1章绪论
1.1研究背景
电脑销售管理系统是管理电脑销售的重要工具,是电脑专卖店不可或缺的部分。

随着电脑的销量的不断增加,销售管理系统的数量也不断的上涨。

管理工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。

并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。

然而,本系统针对以上缺点能够极大地提高超市管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。

所以如何自动高效地管理信息是这些年来许多人所研究的。

1.2开发意义
随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。

我们使用电脑的高效率才处理数据信息成为可能。

电脑销售管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。

友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。

通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入电脑销售管理中,对于促进电脑管理制度,提高电脑专卖店的销量和管理有着显著意义。
第2章系统需求分析
2.1开发环境和软件
(1)操作系统:Windows 10
(2)数据库软件:SQL Server 2008
(3)开发工具:Microsoft Visual Studio 2015
2.2 C#
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。

并定于在微软职业开发者论坛(PDC)上登台亮相。

C#是微软公司研究员Anders Hejlsberg的最新成果。

C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。

但是C#与Java 有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。

它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。

C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#是面向对象的编程语言。

它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#使得C++程序员可以高效的开发程序,且因可调用由C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。

因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

2.3 SQL Server数据库
数据库技术是计算机软件的一个重要分支,它产生于20世纪60年代,最早是由IBM公司推出的IMS数据库系统。

数据库技术从开始到现在大致经历了三个阶段,分别是:人工管理阶段、文件管理阶段和数据库管理阶段。

SQL Server 2008为加密和密钥管理提供了一个全面的解决方案。

为了满足不断发展的对数据中心的信息的更强安全性的需求,公司投资给供应商来管理公司内的安全密钥。

SQL Server 2008通过支持第三方密钥管理和硬件安全模块(HSM)产品为这个需求提供了很好的支持。

SQL Server 2008为关键任务应用程序提供了强大的安全特性、可靠性和可扩展性。

1.保护你的信息:简单的数据加密,外键管理,增强了审查.
2.确保业务可持续性:改进了数据库镜像,热添加CPU
3.最佳的和可预测的系统性能:性能数据的采集,扩展事件,备份压缩,资源监控器,稳定的计划
SQL Server 2008为任务应用程序提供高效效率
基于政策的管理:基于政策管理,自动管理
1.改进了安装
2.加速开发过程:实体框架,语言级集成查询能力,CLR集成和对象服务,Service Broker可扩展性,Transact-SQL的改进
3.偶尔连接系统
4.不只是关系数据:HIERARCHY ID,FILESTREAM数据,集成的全文检索,稀疏列,大型的用户定义的类型,地理信息
SQL Server 2008 智能化
1.集成任何数据:数据压缩,备份压缩,分区表并行,星型联接查询优化器,资源监控器,分组设置,捕获变更设置,MERGESQL语句,可扩展的集成服务
2.发送相应的报表:企业报表引擎,新的报表设计器,强大的可视化,Microsoft Office渲染,Microsoft SharePoint®集成
3.使用户获得全面的洞察力:设计为可扩展的,块计算,回写到MOLAP,预测分析
2.4系统功能分析
电脑销售管理系统,可用于电脑专卖店的电脑销售信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。

该软件用C#语言编写,用SQLServer2008数据库作为后台的数据库进行信息的存储,用SQL语句完成电脑信息的添加,查询,修改,删除的操作以及员工信息的录入,修改,删除等。

用ODBC驱动实现前台C#与后台SQL数据库的连接。

SQLServer2008数据库高效安全,两者结合可相互利用各自的优势。

该系统实现的大致功能:
用户登陆界面。

该界面需使用用户账号密码。

用户名和密码输入正确即可登录电脑销售界面。

提供了商品信息的查询,相关员工查询。

登录的用户信息分别存储在SQL数据库的“admin”表中,如果用户信息不存在表中,将会无权利登录本管理系统。

保证了超市销售系统的安全性。

第3章系统设计
图3.1 系统功能结构图3.2数据库概念结构设计
图3.2数据库概念结构图
3.3数据库逻辑结构设计
表3.1 商品表
字段名称数据类型NULL键字段描述电脑号varchar(20)非空PK商品号
电脑名varchar(30)非空商品名称
售价varchar(50)非空商品价格
销量int非空商品销量
电脑号即商品编号,是用于标识商品的唯一编号,用于商家发布商品产生的记录。

该编号在发布一条商品记录的时候自动产生。

该编号不允许为空,为该表的主键和索引字段,保持唯一性。

电脑名即商品名称,不允许为空。

售价即商品价格,不允许为空。

销量即商品数量,不允许为空。

3.4数据库实现
3.4.1数据库关系图
图3.3数据库关系图
3.4.2 SQL语句实现
数据表的创建:
(1)用户登录表创建:
create table admin(
用户名varchar(20) not null primary key,密码varchar(20) not null ,
);
(2)电脑商品表创建:
create table computer(
电脑号varchar(20) primary key,
电脑名varchar(30) not null,
售价varchar(50) ,
销量int
);
(3)员工表创建:
create table staff(
员工号varchar(20) not null primary key,员工名varchar(10) not null unique,
性别varchar(4) ,
年龄int,
工资varchar(50),
);
(4)店面表创建:
create table Cshop(
店号varchar(20),
店名varchar(10) not null ,
地址varchar(50),
存储过程创建:
(1)“查询电脑信息存储过程”创建:
USE [computer sales]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[getcomputer]
AS
select * from computer
(2)“电脑信息插入存储过程”创建:
USE [computer sales]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[NewRecord]
@电脑号varchar(20),
@电脑名varchar(30),
@售价varchar(50),
@销量int
as
insert into computer values(@电脑号,@电脑名,@售价,@销量)(3)“更行电脑信息存储过程”创建:
USE [computer sales]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[updatecomputer]
@电脑号varchar(20),
@电脑名varchar(30),
@售价varchar(50),
@销量int
AS
Update computer
set 电脑名=@电脑名,
售价=@售价,
销量=@销量
where 电脑号=@电脑号
第4章系统实现4.1用户登录界面
用户登陆界面如图4.1所示。

图4.1系统登录界面4.2主要功能界面
4.2.1主界面
主界面如图所示。

图4.2 主界面
4.2.2电脑信息界面
电脑信息查询界面如图所示。

图4.3 电脑信息查询界面
图4.4修改电脑信息界面
图4.5更新数据界面
图4.6添加电脑信息界面
图4.7添加信息界面
图4.8删除信息界面
4.2.3员工信息界面
员工信息界面如图所示。

图4.9员工信息界面
4.2.4店面信息界面
店面信息界面如图所示。

图4.10店面信息界面
4.2.5其他界面
其他界面如图所示。

图4.11其他界面
第5章课设总结
两周的课程设计即将结束,在老师的指导和自己的努力下我的毕业设计也完成了。

电脑销售管理系统的功能已经基本实现,在设计过程中,老师指引我们将理论知识与实践想结合起来,从可行性研究、需求分析、总体设计到详细设计,到编码实现,这其中遇到无数问题,有的是设计上的,有的是技术实现上的,在解决这些问题的过程中,我深深的领悟到了软件开发的奥妙,也使我对软件开发有了浓厚的兴趣。

从开始开发校园社交网络,我就遇到了很多很棘手的问题,比如数据库的选择,以及各种新知识的学习。

这也使我锻炼了快速学习的能力,例如当时了解到对于一个社交性质的网站来说,数据的增长和变化都是巨大的,虽然最后还是选择了关系型数据库SQL Server,但是其中的乐趣却是他人不能体会的。

开发设计的初级阶段,我对电脑销售管理方面的知识了解的并不多,通过外出考察和查阅相关书籍,我对电脑销售管理软件的开发有了初步的认识。

随着设计的深入,逐步加深对该系统的认识和对编程语言的熟悉和理解。

同时,我也阅读大量的资料了解现在应用中的电脑销售的一些特点。

课程设计是对所学知识的应用,理论联系实际让我对学过的知识有了更加深刻的理解。

通过程序的编写、调试、修改、维护的过程,不但掌握了编程语言,也掌握了相关数据库的基本操作。

通过这段时间里的学习,我了解到了很多知识,也对软件开发的过程有了一个更深的了解,并且对程序的基本设计思路有了较深的认识,学会并掌握了前台软件界面与后台数据库的连接方法,加深了对数据库使用的熟练程度,对SQL编程语言的用法以及编码规范有了更深的认识,对数据库的设计方法也照以前有了很大改进。

参考文献
[1] 王珊,萨师煊.数据库系统概论(第五版)[M]北京:高等教育出版社2014.9.
[2] 王雨竹,张玉花,张星等.SQL Sever 2008数据库管理与开发教程(第2版)[M].北京:人民邮电出版社,2012.
[3] 鄂旭,吴昊.C# Windows程序设计及应用[M].北京:清华大学出版社,2013.
[4] 罗福强,白忠建,杨剑.Visual C#.NET程序设计教程[M].北京:人民邮电出版社,2009.
[5] 薛华成.管理信息系统[M].北京:清华大学出版社,2007.
[6] 马秀麟.管理信息系统及其开发技术[M]. 北京:清华大学出版社,2006.
附录
部分主要代码
由于篇幅有限,所以只附上主要功能的代码:
1、登陆界面与主功能界面:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 电脑销售管理系统
{
public partial class FormAdmin : Form
{
public FormAdmin()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "")
{ MessageBox.Show("请输入用户名和密码"); }
else
{
string str =
"server=localhost;database=computer sales;integrated security=true";
SqlConnection conn = new SqlConnection(str);
conn.Open();
string sql = string.Format("select count(*) from admin where 用户名='{0}' and 密码='{1}'", textBox1.Text.Trim(), textBox2.Text.Trim());
SqlCommand cmd = new SqlCommand(sql, conn);
int count = (int)cmd.ExecuteScalar();
conn.Close();
if (count == 1)
{
FormMain frm = new FormMain();
frm.Show();
this.Hide();//隐藏此窗口
}
else
{
MessageBox.Show("账号或密码错误!请确认后重新输入", "登录界面");
}
}
}
private void FormAdmin_Load(object sender, EventArgs e)
{
}
}
}
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 电脑销售管理系统
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void 查询电脑ToolStripMenuItem_Click(object sender, EventArgs e)
{
Formcom_select frm = new Formcom_select();
frm.Show();
}
private void 添加电脑ToolStripMenuItem_Click(object sender, EventArgs e)
{
Formupdata frm = new Formupdata();
frm.Show();
}
private void 添加电脑信息ToolStripMenuItem_Click(object sender, EventArgs e) {
Formadd frm = new Formadd();
frm.Show();
}
private void 删除电脑信息ToolStripMenuItem_Click(object sender, EventArgs e) {
Formdelete frm = new Formdelete();
frm.Show();
}
private void 查询员工信息ToolStripMenuItem_Click(object sender, EventArgs e) {
Formstaff frm = new Formstaff();
frm.Show();
}
private void 查询店面信息ToolStripMenuItem_Click(object sender, EventArgs e) {
Formshop frm = new Formshop();
frm.Show();
}
private void 其他ToolStripMenuItem_Click(object sender, EventArgs e)
{
Formother frm = new Formother();
frm.ShowDialog();
}
}
2、向数据库查询和删除商品信息:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 电脑销售管理系统
{
public partial class Formcom_select : Form
{
public Formcom_select()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string str =
"server=localhost;database=computer sales;integrated security=true";
SqlConnection conn = new SqlConnection(str);
string sql = "select * from computer where 电脑号='" + textBox1.Text+"'";
SqlDataAdapter ss = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
ss.Fill(ds, "t");
dataGridView1.DataSource = ds.Tables["t"];
}
private void Formcom_select_Load(object sender, EventArgs e)
{
string str =
"server=localhost;database=computer sales;integrated security=true";
SqlConnection conn = new SqlConnection(str);
string sql = string.Format("select * from computer");
SqlDataAdapter sda = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
sda.Fill(ds,"t");
dataGridView1.DataSource = ds.Tables["t"];
}
}
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 电脑销售管理系统
{
public partial class Formdelete : Form
{
public Formdelete()
{
InitializeComponent();
}
private void Formdelete_Load(object sender, EventArgs e)
{
string str =
"server=localhost;database=computer sales;integrated security=true";
SqlConnection conn = new SqlConnection(str);
string sql = string.Format("select * from computer");
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds, "t");
dataGridView1.DataSource = ds.Tables["t"];
}
private void buttondelete_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count == 0)
{
MessageBox.Show("dhsjfh");
}
else
{
string id = dataGridView1.SelectedRows[0].Cells["电脑号"].Value.ToString();
int aid = int.Parse(id);
string sqlcon = "server=localhost;database=computer sales;integrated security=true";
SqlConnection conn = new SqlConnection(sqlcon);
conn.Open();
string sql = "delete from computer where 电脑号=" + aid;
SqlCommand oda = new SqlCommand(sql, conn);
oda.ExecuteNonQuery();
conn.Close();
Formdelete_Load(sender, e);
}
}
}
}
3、向数据库添加商品信息:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 电脑销售管理系统
{
public partial class Formadd1 : Form
{
public Formadd1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string str = "server=localhost;database=computer sales;integrated security=true";
SqlConnection conn = new SqlConnection(str);
conn.Open();
SqlCommand cmd = new SqlCommand("NewRecord", conn);
mandType = CommandType.StoredProcedure;
SqlParameter p1 = new SqlParameter("@电脑号", textBox1id.Text);
SqlParameter p2 = new SqlParameter("@电脑名", textBox2name.Text);
SqlParameter p3 = new SqlParameter("@售价", textBox3price.Text);
SqlParameter p4 = new SqlParameter("@销量", textBox4numb.Text);
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Parameters.Add(p4);
cmd.ExecuteNonQuery();
conn.Close();
this.Close();
}
}
}
4、数据库修改商品信息:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 电脑销售管理系统
{
public partial class Formupdata1 : Form
{
string id, name, price, numb;
public Formupdata1(DataGridViewRow record)
{
InitializeComponent();
id = record.Cells["电脑号"].Value.ToString();
name = record.Cells["电脑名"].Value.ToString();
price = record.Cells["售价"].Value.ToString();
numb = record.Cells["销量"].Value.ToString();
//-------
textBox1id.Text = id;
textBox2name.Text = name;
textBox3price.Text = price;
textBox4numb.Text = numb;
}
private void Formupdata1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string str =
"server=localhost;database=computer sales;integrated security=true";
SqlConnection conn = new SqlConnection(str);
conn.Open();
//-------访问数据库------
string sql = "update computer set 电脑名='" +
textBox2name.Text + "',售价='" +
textBox3price.Text + "',销量=" +
textBox4numb.Text + " where 电脑号='" + textBox1id.Text + "'";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
this.Close();
}
}
}。

相关文档
最新文档