您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页超市折扣查询系统(C# 课程设计)

超市折扣查询系统(C# 课程设计)

来源:五一七教育网
[键入文字]

中国xx大学 计算机

专业方向课程设计论文

姓 名: xxx 学 号: xxxxx 专业方向: xxxxxx 设计题目: 超市自助折扣查询系统 指导教师: xxxxx

2010年 11 月

摘 要

[键入文字]

传统的超市折扣管理,多采用手工的形式,既繁琐又易于出差错,查找起来也十分不便,还容易造成丢失。随着计算机技术的发展,这些优惠折扣的查询我们有了更为便捷的管理方式,避免了繁琐的手续过程,并且易于管理和维护。为此我们设计了这个超市自助优惠折扣查询软件,用来满足现在社会的需求。

在我国,自助服务的系统并不少见,餐厅的自助点餐,银行的自助存取款,以及学校图书馆的自助借阅系统都有很多,这些自助系统既方便快捷又省时省力,只需要一台服务终端就可以简单完成复杂的查询操作。而在国外,自助查询系统更是屡见不鲜。

本软件设计过程中主要使用到了两种开发工具,一种是C#,还有种就是SQL Server,C#主要用到的地方在于软件界面的设计,而后台数据的开发平台就是在SQL Server上完成的。软件有两种登录权限,会员或商家登陆界面,根据区不同权限,进入不同的界面,可进行不同的操作,会员可以根据会员号来查询自己的积分优惠项,还可以修改自己的密码,而商家登录后,可以查询优惠项,修改优惠项,删除优惠项,修改密码等操作。

关键词:折扣查询 ;VStudio ;SQLServer ;

目 录

[键入文字]

第1章 绪 论 ........................................... 1

第1.1节 课题来源 ................................................ 1 第1.2节 国内外研究现状和发展趋势 ................................ 1

第2章 需求分析与可行性分析 ............................ 2

第2.1节 可行性研究 ............................................... 2 2.1.1 技术可行性 .................................................. 2 2.1.2 经济可行性 .................................................. 2 第2.2节 需求分析 ................................................ 2 2.2.1 系统功能模块概述 ............................................ 3 2.2.2 系统整体业务流程 ............................................ 4 2.2.3 系统数据流分析 .............................................. 5 第2.3节 数据字典 ................................................. 5

第3章 总体设计 ......................................... 7

第3.1节 数据库设计 .............................................. 7 3.1.1数据库系统特征 .............................................. 7 第3.2节 概念结构设计 ............................................ 7 第3.3节 逻辑结构设计 ............................................ 8

第4章 详细设计 ........................................ 10

第4.1节 登录界面设计 ............................................ 10 4.1.1 登录界面图的设计 ........................................... 10 4.1.2 登录界面的主要代码 ......................................... 11 第4.2节 信息处理界面设计 ........................................ 13 4.2.1 信息处理界面图的设计 ....................................... 13 4.2.2信息处理界面主要代码 ....................................... 13 第4.3节 会员查询界面的设计 ...................................... 19 4.3.1 会员查询界面的设计 ......................................... 20

第5章 系统测试 ........................................ 24

第5.1 节 登录模块测试 ........................................... 24 第5.2 节 信息查询模块测试 ....................................... 24 第5.3 节 信息处理模块测试 ....................................... 25 第5.4 节 优惠项查询模块测试 ..................................... 25

第6章 结束语 .......................................... 25

参考文献...................................................................................................................26

xxxxxxxxxxxxx

第1章 绪 论

随着科技的发展,计算机本身经历了巨大的变化。计算机的概念也由原始

的分立式走向今天的网络式。网络技术已逐渐成为现代信息技术的主流,网络的概念也随着 Internet 技术和应用的发展而渐入人心。 Internet的作用正为越来越多的人所认识,通过网络共享信息正成为科学研究的一种重要手段。可以这么说,谁拥有信息,谁就能在科技信息的大潮中获得主动权,谁就能获取成功。

第1.1节 课题来源

面对市场时代的挑战,超市服务的功能越来越强,自助系统也在积极建设或升级计算机网络,并已建成了规模较大的自助查询与销售系统,全国许多超市、商场、销售柜台等等也纷纷建立或升级自己的自助查询系统,许多大型超市还提出了信息查询无纸化的口号。产品查询网是实现查询自动化、管理科学化、使用手段现代化和查询信息信息网络化最有利的支撑环境。

第1.2节 国内外研究现状和发展趋势

目前自助查询系统不管是在国内还是国外的利用率都不是很高,主要原因是缺少好的网络应用平台。以前开发的 MIS 系统往往是在单机上运行,或者采用 C/S 技术开发出来的,对于今天因特网时代来说,这些系统很大程度上已经不能满足用户随时随地获取信息的需要。早期的自助信息查询系统最初是人工方式进行,显然在信息化发展的今天,这远远不能满足档案管理的需要。后来,随着单机板自助信息查询系统的开发,这在很大程度上解决了上述矛盾。本文正是在这种背景下提出的,目的是为了开发出一套功能完善、操作便捷、及时性好、适用面广的自助信息查询系统,以提高信息查询的效率。

1

xxxxxxxxxxxxx

第2章 需求分析与可行性分析

第2.1节 可行性研究

在可行性方面,我也做了很多分析,软件是基于CS模式的,我们给顾客商家根据自己的商家号和密码,技术可行性

随着科学技术的不断提高也带动了计算机网络的发展及通信平台技术的Windows XP/7作为系统开发后台数据库,

经济可行性

计算机不仅价格低廉还可以代替人工进行许多繁杂的劳动,节省许多资操作可行性

作为计算机应用的一部分,使用计算机对身份信息进行查阅,C#编程即可完成整个系统工作。2.2节 需求分析

自助折扣查询系统的主要任务就是根据会员的积分信息进行优惠打折查

再选择自己的销售类,

接口能力强,界面友好,加上采用C#技Window窗体应用程序,使用SQL Server 能有效存储和管理数据。所以完成在技术上是

具有手工查

2

的只需要是一台终端机,再搭载这款软件,就可以进行正常的查询到超市每天都有哪些优惠项可供大家选择,也可以打印出来优惠项,便于选购。而软件的维护是基于每个商家的,就可以进入到属于自己的管理模式,根据自己的情况来修改商品的优惠折扣。2.1.1 提高。同时,操作系统术开发内容丰富、动态的、个性化的2005可行的。2.1.2 源,大大的提高人们的工作效率,同时本系统开发周期短、成本低。因此在信息时代的今天传统的查阅方法必然被计算机为基础的查阅所取代。2.1.3阅所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好等。就是运用第

xxxxxxxxxxxxx

询,即查询、添加、修改、删除等功能。使用户能方便的得到想要的信息,使优惠商品信息管理更加系统化、自动化、规范化,从而提高查询的效率。

2.2.1 系统功能模块概述

现在对系统的功能进行详细分解。

① 会员信息管理模块 :该模块用来会员登录和查询会员积分。 ② 信息浏览模块 :管理员可以利用此模块查看自己的优惠项,从而进行修改或删除;会员可以利用此模块查看优惠商品有哪些。

③ 修改密码模块 :用户或管理员在登陆之后可以修改自已的密码。 ④ 删除优惠项模块 :此模块功能只有系统管理员才能使用,他可以删除某项优惠商品。

⑤ 修改优惠项模块 :管理员可以利用此模块功能很快修改任何一项优惠的商品。

⑥ 系统管理模块 :用于用户从系统安全退出或登录。 超市自助折扣系统 系统管理 商家管理 用户管理 用户登录 取消登录 信息浏览 修改优惠项 删 除优 惠项 修改密码 修改密码 积分查询

3

xxxxxxxxxxxxx

图2.1系统功能模块图

2.2.2 系统整体业务流程

本系统的整体业务流程为:会员或商家登陆界面,根据区不同权限,进入不同的界面,可进行不同的操作,会员可以根据会员积分来查询自己能购买的优惠商品,还可以修改自己的密码,而商家登录后,不仅可以查询优惠的商品还可以添加、修改和删除优惠项,还可以修改密码等操作。

业务流程图(transaction flow diagram,简称TFD)就是用一些规定的符号及连线来表示某个具体业务处理过程。业务流程图的绘制基本上按照业务的实际处理步骤和过程绘制。以下是本系统的整体操作流程图:

修改密码 4

开始 登录界面 否 否 会员登录 商家 是 商家登录 否 登录成功 是 查看优惠项 登录成功 是 打印优惠项 管理优惠项 结束 xxxxxxxxxxxxx

2.2.3 系统数据流分析

数据流图也称为Data Flow Diagram。是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

用户

输入信息 自助查询系统 输出信息 用户 图2-1 系统顶层数据流图

库文件 第2.3节 数据字典

数据流图描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,他还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。这就要引入数据字典这个概念。

数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。

表3·1数据字典列表——数据流 数据存储名称:商家 数据来源:商家表 数据去向:商家登陆模块 数据组成:商家信息=商家号+密码 描述:存储了商家登录的基本信息 5

xxxxxxxxxxxxx

数据存储名称:会员 数据来源:会员表 数据去向:会员登录模块 数据组成:会员信息=会员号+密码 描述:存储了访客登录的基本信息 数据存储名称:服装信息 数据来源:服装类 数据去向:优惠项管理模块 数据组成:服装信息=序号+生产商+部位等等 描述:存储了服装的基本信息 表3·2数据字典列表——数据处理

名称: 查询信息 描述:根据条件会员积分查询优惠项信息 输入: 输入查询的条件 过程:查询系统的会员所需的信息 输出: 查询得到的信息页面 名字:添加、修改、删除信息 描述:对优惠项的信息,优惠项等添加、修改或删除后存入数据库中 输入: 输入要添加、修改或删除的信息 过程:对需要修改的信息做添加、修改、删除过时的信息 输出: 系统新的信息表页面 输出: 查询得到的信息页面 表3·3数据字典列表——数据存储

名字: 数据库信息 别名:折扣自助查询信息 描述:存储了数据库的基本信息 数据组成:数据库信息=商家信息+会员信息+商品信息+登录信息 位置:数据库 输出: 查询得到的信息页面 6

xxxxxxxxxxxxx

第3章 总体设计 第3.1节 数据库设计

设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下两个步骤:

(1) 数据库概念结构设计 (2) 数据库逻辑结构设计

3.1.1数据库系统特征

(1)数据结构化

数据库系统实现整体数据的结构化,是数据库的主要特征之一。在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。

(2)数据的共享性高,冗余性低,易扩充

数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。

(3)数据性高

数据的性是数据库领域中的一个常用术语,包括数据的物理性和数据的逻辑性。

(4)数据由DBMS统一管理和控制

数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一数据。

第3.2节 概念结构设计

概念结构既于数据库的逻辑结构,也与所使用的具体的数据库管理系统。用来描述概念结构设计的有力工具是E-R模型,E-R模型用E-R图表

7

xxxxxxxxxxxxx

示。

(1) 整体的E-R图

商家号 商 家 密 码 M 商家号 管 理 种 类 N 优惠项 材 质 N 积 分 查 询 M 会员号 会 员 密 码 型 号 品 牌 生产商 序 号 图3.1 整体数据库E-R图

第3.3节 逻辑结构设计

逻辑设计在数据库概念设计的基础上进行。其主要任务是将概念模型转换为数据库的逻辑模型,与选用的DBMS相结合,产生具体的DBMS所支持数据模型的逻辑模式。自助查询管理数据库以下表:商家表、会员表、服装类表等。 (1)表3·1是商家表。

此表用于系统中商家的信息。包含的属性有:商家号和对应的密码还有销售类。

表3.1 商家表表 字段名称 数据类型 是否主键空值 8

xxxxxxxxxxxxx

商家号 密码 销售类 nchar(10) nchar(10) Nvarchar(50) 主键 非空 非空 (2)表3·2是会员表。

这个表是用于记录会员的信息,包含属性有:会员号和对应的密码、姓名、电话、积分。

表3·2 会员表 字段名称 会员号 密码 姓名 电话 积分

数据类型 nchar(10) nchar(10) Nvarchar(50) Nvarchar(50) nchar(10) 是否主键空值 主键 非空 非空 可空 非空 (3)表3·3是服装类表

此表记录服装的基本信息,包含属性有:序号和对应的生产商名称、部位、商品号、原价、优惠折扣、积分要求、商家号。

表3·3 服装类表 字段名称 序号 生产商 部位 商品号 原价 优惠折扣 数据类型 Nchar(10) nvarchar(50) nvarchar(50) Nchar(10) Money Nchar(10) 是否为主键或非空 主键 非空 非空 非空 非空 非空 9

xxxxxxxxxxxxx

积分要求 商家号

Nchar(10) Nchar(10) 非空 非空 第4章 详细设计

本章主要介系统的详细设计,一些主要模块有相关的截图和代码,其功能将一目了然的展示出来。

第4.1节 登录界面设计

本次登录界面设有商家与会员两种权限登录,用户必须输入正确的账号、密码并选择正确的登录权限才可以登录系统。

4.1.1 登录界面图的设计

10

xxxxxxxxxxxxx

图4-1 系统登录界面

4.1.2 登录界面的主要代码

namespace WindowsFormsApplication1 {

public partial class Form1 : Form {

stringsqlstr=@\"Data

Source=.\\SQLEXPRESS;AttachDbFilename='C:\\Documentsand

Settings\\Administrator\\桌面\\自助折扣系统\\自助折扣系统.mdf';Integrated Security=True;User Instance=True\"; public Form1() {

InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

Form f2 = new Form2(textBox1.Text); Form f3 = new Form3(comboBox1.Text,textBox1.Text,textBox2.Text); if (radioButton1.Checked == true) {

if (textBox1.Text == \"\" || textBox2.Text == \"\")

MessageBox.Show(\"会员号、密码不能为空\"); else {

SqlConnection conn = new SqlConnection(sqlstr);

string sql = \"Select * From 会员表 Where 会员号='\" + textBox1.Text + \"' and 密码='\" + textBox2.Text + \"'\";

SqlCommand com = new SqlCommand(sql, conn); SqlDataAdapter da = new SqlDataAdapter(com); DataSet ds = new DataSet(); da.Fill(ds, \"objDataTable\"); conn.Close();

int num = ds.Tables[0].Rows.Count; if (num == 0) {

MessageBox.Show(\"登陆失败!\"); textBox1.Text = \"\"; textBox2.Text = \"\"; }

11

xxxxxxxxxxxxx

else {

MessageBox.Show(\"登陆成功!\"); f2.Show(); this.Hide(); } } }

if (radioButton2.Checked == true) {

if (comboBox1.Text == \"\" || textBox2.Text == \"\" || textBox1.Text == \"\")

MessageBox.Show(\"商家号、密码、销售类型不能为空!\");

else {

SqlConnection conn = new SqlConnection(sqlstr);

string sql = \"Select * From 商家表 Where 商家号='\" + textBox1.Text + \"' and 密码='\" + textBox2.Text + \"'\";

SqlCommand com = new SqlCommand(sql, conn); SqlDataAdapter da = new SqlDataAdapter(com); DataSet ds = new DataSet(); da.Fill(ds, \"objDataTable\"); conn.Close();

int num = ds.Tables[0].Rows.Count; if (num == 0) {

MessageBox.Show(\"登陆失败!\"); textBox1.Text = \"\"; textBox2.Text = \"\"; comboBox1.Text = \"\"; } else {

MessageBox.Show(\"登陆成功!\"); f3.Show(); this.Hide(); } } }

if (radioButton1.Checked == false && radioButton2.Checked == false)

12

xxxxxxxxxxxxx

MessageBox.Show(\"请选择登录身份!\"); } } }

第4.2节 信息处理界面设计

本界面是商家身份登录后显示的界面,商家可以根据此页面所显示的功能进行相应的操作,例如可以处理的优惠项基本信息,可以添加、修改或删除优惠项信息。

4.2.1 信息处理界面图的设计

图4-2 信息处理界面

4.2.2信息处理界面主要代码

namespace WindowsFormsApplication1 {

public partial class Form3 : Form {

stringsqlstr=@\"Data

13

xxxxxxxxxxxxx

Source=.\\SQLEXPRESS;AttachDbFilename='C:\\Documents and Settings\\Administrator\\桌面\\自助折扣系统\\自助折扣系统.mdf';Integrated Security=True;User Instance=True\"; public Form3(string abc,string cba,string aaa) {

InitializeComponent(); groupBox1.Text = abc; label6.Text = cba; label7.Text = aaa; }

private void button1_Click(object sender, EventArgs e) {

if (textBox6.Text != \"\") {

if (textBox1.Text != \"\" && textBox2.Text == \"\" && textBox3.Text == \"\") {

if (label6.Text != textBox6.Text) {

MessageBox.Show(\"无此序号,修改失败!\"); textBox1.Text = \"\"; textBox6.Text = \"\"; } else {

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Update \" + groupBox1.Text + \" set [原价/元] = '\" + textBox1.Text + \"'\"; SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1);

DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\"); conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox1.Text = \"\"; textBox6.Text = \"\";

14

xxxxxxxxxxxxx

} }

else if (textBox1.Text == \"\" && textBox2.Text != \"\" && textBox3.Text == \"\") {

if (label6.Text != textBox6.Text) {

MessageBox.Show(\"无此序号,修改失败!\"); textBox2.Text = \"\"; textBox6.Text = \"\"; } else {

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Update \" + groupBox1.Text + \" set 优惠折扣 = '\" + textBox2.Text + \"'\"; SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1);

DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\"); conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox2.Text = \"\"; textBox6.Text = \"\"; } }

else if (textBox1.Text == \"\" && textBox2.Text == \"\" && textBox3.Text != \"\") {

if (label6.Text != textBox6.Text) {

MessageBox.Show(\"无此序号,修改失败!\"); textBox3.Text = \"\"; textBox6.Text = \"\"; } else

15

xxxxxxxxxxxxx

{

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Update \" + groupBox1.Text + \" set 积分要求 = '\" + textBox3.Text + \"'\"; SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1);

DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\"); conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox3.Text = \"\"; textBox6.Text = \"\"; } }

else if (textBox1.Text != \"\" && textBox2.Text != \"\" && textBox3.Text == \"\") {

if (label6.Text != textBox6.Text) {

MessageBox.Show(\"无此序号,修改失败!\"); textBox1.Text = \"\"; textBox2.Text = \"\"; textBox6.Text = \"\"; } else {

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Update \" + groupBox1.Text + \" set [原价/元] = '\" + textBox1.Text + \"',优惠折扣 = '\" + textBox2.Text + \"'\";

SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1);

DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\");

16

xxxxxxxxxxxxx

conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox1.Text = \"\"; textBox2.Text = \"\"; textBox6.Text = \"\"; } }

else if (textBox1.Text != \"\" && textBox2.Text == \"\" && textBox3.Text != \"\") {

if (label6.Text != textBox6.Text) {

MessageBox.Show(\"无此序号,修改失败!\"); textBox3.Text = \"\"; textBox1.Text = \"\"; textBox6.Text = \"\"; } else {

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Update \" + groupBox1.Text + \" set [原价/元] = '\" + textBox1.Text + \"',积分要求 = '\" + textBox3.Text + \"'\";

SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1);

DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\"); conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox3.Text = \"\"; textBox1.Text = \"\"; textBox6.Text = \"\"; } }

else if (textBox1.Text == \"\" && textBox2.Text != \"\" && textBox3.Text != \"\")

17

xxxxxxxxxxxxx

{

if (label6.Text != textBox6.Text) {

MessageBox.Show(\"无此序号,修改失败!\"); textBox3.Text = \"\"; textBox2.Text = \"\"; textBox6.Text = \"\"; } else {

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Update \" + groupBox1.Text + \" set 优惠折扣 = '\" + textBox2.Text + \"',积分要求 = '\" + textBox3.Text + \"'\";

SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1);

DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\"); conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox3.Text = \"\"; textBox2.Text = \"\"; textBox6.Text = \"\"; } }

else if (textBox1.Text != \"\" && textBox2.Text != \"\" && textBox3.Text != \"\") {

if (label6.Text != textBox6.Text) {

MessageBox.Show(\"无此序号,修改失败!\"); textBox3.Text = \"\"; textBox2.Text = \"\"; textBox1.Text = \"\"; textBox6.Text = \"\"; }

18

xxxxxxxxxxxxx

else {

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Update \" + groupBox1.Text + \" set [原价/元] = '\" + textBox1.Text + \"',优惠折扣 = '\" + textBox2.Text + \"',积分要求 = '\" + textBox3.Text + \"'\"; SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1);

DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\"); conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox3.Text = \"\"; textBox2.Text = \"\"; textBox1.Text = \"\"; textBox6.Text = \"\"; } } else {

MessageBox.Show(\"没有修改的条目!\"); textBox6.Text = \"\"; } } else

MessageBox.Show(\"序号为空,修改失败!\"); } } }

第4.3节 会员查询界面的设计

本界面是会员身份登录后显示的界面,会员可以根据此页面所显示的功能进行相应的操作,例如可以根据自己的积分查询优惠项基本信息,可以修

19

xxxxxxxxxxxxx

改自己的密码。

4.3.1 会员查询界面的设计

namespace WindowsFormsApplication1 {

public partial class Form2 : Form {

Stringsqlstr=@\"Data

Source=.\\SQLEXPRESS;AttachDbFilename='C:\\Documentsand

Settings\\Administrator\\桌面\\自助折扣系统\\自助折扣系统.mdf';Integrated Security=True;User Instance=True\"; public Form2(string abc) {

InitializeComponent(); label14.Text = abc; }

20

xxxxxxxxxxxxx

private void Form2_Load(object sender, EventArgs e) {

SqlConnection conn8 = new SqlConnection(sqlstr);

string sql8 = \"Select 积分 from 会员表 Where 会员号='\" + label14.Text + \"'\";

SqlCommand com8 = new SqlCommand(sql8, conn8); SqlDataAdapter da8 = new SqlDataAdapter(com8); DataSet ds8 = new DataSet(); da8.Fill(ds8, \"objDataTable\"); conn8.Close();

label3.Text = ds8.Tables[\"objDataTable\"].Rows[0][\"积分\"].ToString();

SqlConnection conn = new SqlConnection(sqlstr);

string sql = \"Select 序号,生产商,种类,型号,[原价/元],优惠折扣,积分要求 From 家电类\";

SqlCommand com = new SqlCommand(sql, conn); SqlDataAdapter da = new SqlDataAdapter(com); DataTable ds = new DataTable(); da.Fill(ds); conn.Close();

dataGridView1.DataSource = ds;

SqlConnection conn1 = new SqlConnection(sqlstr);

string sql1 = \"Select 序号,分类,品种,生产商,[原价/元],优惠折扣,积分要求 From 食品类\";

SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1); DataTable ds1 = new DataTable(); da1.Fill(ds1); conn1.Close();

dataGridView2.DataSource = ds1;

SqlConnection conn3 = new SqlConnection(sqlstr);

string sql3 = \"Select 序号,品种,生产地,[原价/元],优惠折扣,积分要求 From 粮食类\";

SqlCommand com3 = new SqlCommand(sql3, conn3); SqlDataAdapter da3 = new SqlDataAdapter(com3); DataTable ds3 = new DataTable(); da3.Fill(ds3); conn3.Close();

21

xxxxxxxxxxxxx

dataGridView3.DataSource = ds3;

SqlConnection conn4 = new SqlConnection(sqlstr);

string sql4 = \"Select 序号,生产商,部位,商品号,[原价/元],优惠折扣,积分要求 From 服装类\";

SqlCommand com4 = new SqlCommand(sql4, conn4); SqlDataAdapter da4 = new SqlDataAdapter(com4); DataTable ds4 = new DataTable(); da4.Fill(ds4); conn4.Close();

dataGridView4.DataSource = ds4;

SqlConnection conn5 = new SqlConnection(sqlstr);

string sql5 = \"Select 序号,种类,品牌,商品名,[原价/元],优惠折扣,积分要求 From 烟酒类\";

SqlCommand com5 = new SqlCommand(sql5, conn5); SqlDataAdapter da5 = new SqlDataAdapter(com5); DataTable ds5 = new DataTable(); da5.Fill(ds5); conn5.Close();

dataGridView5.DataSource = ds5;

SqlConnection conn6 = new SqlConnection(sqlstr);

string sql6 = \"Select 序号,种类,品牌,型号,[原价/元],优惠折扣,积分要求 From 家具类\";

SqlCommand com6 = new SqlCommand(sql6, conn6); SqlDataAdapter da6 = new SqlDataAdapter(com6); DataTable ds6 = new DataTable(); da6.Fill(ds6); conn6.Close();

dataGridView6.DataSource = ds6;

SqlConnection conn7 = new SqlConnection(sqlstr);

string sql7 = \"Select 序号,材质,品牌,型号,[原价/元],优惠折扣,积分要求 From 首饰类\";

SqlCommand com7 = new SqlCommand(sql7, conn7); SqlDataAdapter da7 = new SqlDataAdapter(com7); DataTable ds7 = new DataTable(); da7.Fill(ds7); conn7.Close();

dataGridView7.DataSource = ds7; }

22

xxxxxxxxxxxxx

private void button15_Click(object sender, EventArgs e) {

if (textBox8.Text == label14.Text) {

SqlConnection conn = new SqlConnection(sqlstr);

string sql = \"Select * From 会员表 Where 会员号 = '\" + textBox8.Text + \"' and 密码 ='\" + textBox9.Text + \"'\"; SqlCommand com = new SqlCommand(sql, conn); SqlDataAdapter da = new SqlDataAdapter(com); DataSet ds = new DataSet(); da.Fill(ds, \"objDataTable\"); conn.Close();

int num = ds.Tables[0].Rows.Count; if (num == 0) {

MessageBox.Show(\"无此会员号或旧密码不正确,修改失败!\");

textBox10.Text = \"\"; textBox8.Text = \"\"; textBox9.Text = \"\"; } else {

SqlConnection conn1 = new SqlConnection(sqlstr); string sql1 = \"update 会员表 set 密码 = '\" + textBox10.Text + \"' Where 会员号 = '\" + textBox8.Text + \"'\";

SqlCommand com1 = new SqlCommand(sql1, conn1); SqlDataAdapter da1 = new SqlDataAdapter(com1); DataSet ds1 = new DataSet(); da1.Fill(ds1, \"objDataTable1\"); conn1.Close();

MessageBox.Show(\"修改成功!\"); textBox10.Text = \"\"; textBox8.Text = \"\"; textBox9.Text = \"\"; } } else

23

xxxxxxxxxxxxx

MessageBox.Show(\"会员号与登录会员号不匹配,修改失败!\");

} } }

第5章 系统测试

系统的测试的主要任务是发现并排除在分析、设计、编程各阶段中产生的各种类型的错误,以得到可使用的软件系统。

系统的测试按是否在实际应用环境中运行来分类,可将测试方法分为静态测试与动态测试。

1 、静态测试

是通过对需求文件、设计文件及源程序的阅读和分析,找出其中的错误或可疑之处。静态测试时不执行被分析的程序。

2 、动态测试

动态测试就是直接在计算机上运行所要测试的程序模块,从实际运行的结果发再并纠正错误。按产生测试数据的不同方式,动态测试可分为功能测试和结构测试。功能测试又称为“黑盒测试”,结构测试又称为“白盒测试”。

第5.1 节 登录模块测试

使用本优惠折扣系统时,先从登录界面登录,根据登陆身份的不同,可以登录到达不同的界面,在商家界面的界面里有系统的功能模块及模块下的子模块,直接输入即可进入处理界面。

第5.2 节 信息查询模块测试

在商家界面点击信息查询,就可进入信息查询界面,进入界面可看到两条

24

xxxxxxxxxxxxx

输入框,根据具体输入的序号,可以完成确切的查询,根据输入的信息可以完成模糊查询。

第5.3 节 信息处理模块测试

信息处理模块就是以添加、修改和删除信息的功能为主,在信息界面中的文本框中输入正确的信息,点击修改就可以把数据库中的信息更新,达到修改目的。点击删除按钮就可以把该条信息删除。点击添加就可以把新信息添加到数据库中。处理模块能让商家更快的修改优惠项的信息,大大减少了工作时间。

第5.4 节 优惠项查询模块测试

在优惠项查询设计界面里,先输入一条具体要查询的序号,直接点击查询按钮即可看到该优惠项的所有信息,还可以根据需要进行优惠项的打印,以方便买家的商品购买。

第6章 结束语

经过这断时间的设计和开发,优惠自助折扣查询系统基本开发完毕。其功能基本符合用户需求,能够完成优惠项信息的查询。并提供部分系统维护功能,使商家方便进行数据添加、修改和数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。会员也可以对自己的登录信息进行修改,还可以对优惠项进行查询。

但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。

25

xxxxxxxxxxxxx

参考文献

[1]萨师煊,王珊.数据库系统概论.第3版.北京:高等教育出版社,2003 [2]王昊帝,李刚等.Visual C#程序设计教程.北京:清化大学出版社,2003 [3]施燕妹,陈培,陈发吉.C#语言程序设计教程.北京:中国水利水电出版社,2004.7

[4]熊开盛.档案查询系统的设计与实现 [J]. 武汉科技学院学报,[5][美] Anders Hejlsberg.Scott Wiltamuth.Peter Golde树良译.C#编程语言详解.北京:电子工业出版社,2004.9

[6]专著 周涛.SQL Server 2005 2005 数据库基础应用[社.2007

[7] 专著 张海藩. 软件工程导论 [M].清华大学出版社

26

2006.12 M].清华大学出版2003年

著.张晓坤,谭立平,车.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务