网上书店管理信息系统C#课程设计报告.docx
《网上书店管理信息系统C#课程设计报告.docx》由会员分享,可在线阅读,更多相关《网上书店管理信息系统C#课程设计报告.docx(47页珍藏版)》请在冰豆网上搜索。
![网上书店管理信息系统C#课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-1/3/8fe1af51-002d-4e79-ab3a-0ed7172d5f3c/8fe1af51-002d-4e79-ab3a-0ed7172d5f3c1.gif)
网上书店管理信息系统C#课程设计报告
学号
武汉科技大学城市学院
课程设计报告
课程设计名称C#程序设计语言课程设计
题目
网上书店管理信息系统设计与实现
院系
信息工程学部
专业
电子商务(本)
班级
一班
姓名
指导教师
李庆
2016
年
6
月
24
日
C#程序设计语言课程设计任务书
设计题目:
网上书店管理信息系统的设计与实现
设计主要内容:
一、开发平台:
VISUALSTUDIO2010+SQLSERVER2005
二、功能要求:
设计一个图书销售管理信息系统,该系统的用户由一般用户和管理员组成,然后不同的用户拥有不同的权限,各自完成各自的管理功能,首先是欢迎界面,然后选择登录,登录的时候首先要判断用户的身份,合法的用户然后进入到系统主界面中,不同的用户看到不同的系统功能。
用sqlserver2005创建后台数据库,然后利用程序设计语言(VB)编写程序实现对数据库的操作,按照要求完成所有的功能和模块。
2、图书销售管理信息系统主要功能
(1)用户管理:
用户登录界面、用户注册界面、图书查询界面(按照图书种类查询)、购买图书界面、图书消息更新查询界面、支付界面(最后支付可以选择不同的支付方式,将看到不同的信息)。
(2)管理员管理:
管理员登录界面、用户管理界面(批量查看用户资料,查询/编辑/修改帐号)、订单管理界面(批量查看所有订单)、图书管理界面(批量查看所有商品、添加商品、查看/修改/删除商品)、图书更新消息界面、用户信息管理界面。
3、图书销售管理信息系统数据库表单(可以按照需求增减)
(1)用户信息表单,主要字段有:
用户名、密码、用户身份(管理员和普通用户)
(2)订单信息表单,主要字段:
订单号、时间、总金额、支付方式、交易是否已经完成、送货终点
(3)书籍信息表单,主要字段:
货号、图书类别、数量、名称、价格、是否已经加入、订货数量、说明
(5)付款方式表单,主要字段:
付款方式、付款方式说明、时间、交易人姓名
(6)图书消息更新表单,主要字段:
编号(自动)、标题、内容
三、课程设计报告主要内容:
1、图书销售管理信息系统需求分析(给出系统的功能模块图,对各个功能作出详细介绍)
2、图书销售管理信息系统界面设计(给出界面截图及其主要控件的属性设置表格)
3、图书销售管理信息系统数据库设计(给出数据库各个表单中数据的字段名,数据类型及其相应的说明)
4、图书销售管理信息系统程序设计(功能模块给出详细的代码,重点语句的注释)
1需求分析
1.1系统概述
系统介绍:
随着信息技术的发展,信息的交换在互联网上更加的平凡,在互联网上信息的传递突破了空间和时间的限制,信息传播的及时性和准确性越来越重要,它的迅速发展正在改变着我们的生活方式,甚至改变着传统企业的发展模式。
越来越多的企业都肩负着从传统的发展方式转变为现代企业的发展模式的重任。
这种转变在互联网方面尤为显著。
交通通讯行业也在悄悄的发生着变化。
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。
Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。
因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
在资讯和信息越来越重要的时代,精彩的网络在悄悄改变着人们的工作和生活理念——网上购物。
不用及交通、不用到书店翻阅、即可看到全国各地的书籍价格、更加全面地搜索自己喜欢的书籍、需要的书籍。
这种方便、快捷、花费少的择业新方式,就是浏览网上书店。
网上书店也是小型的B2C网站。
网上书店与显示书店相比,具有速度快、容量大、费用少、使用方便等优势。
比如,可以坐在家中浏览全国各地的书籍报价,省去了到街上及交通的烦恼等。
并且网上书店不受时空的限制,可以广纳全国各地的书籍信息,促成轻松购物、满意购物。
另外,网上书店还可省下一笔可观的店面租赁费、促销人员开支等。
对顾客来说既得到了实惠,又节省了奔波的时间。
正是基于以上原因,我决定做一个网上书店系统,为广大的爱书者提供一个更加方便购物场合平台,达到让购书者能随时掌握书籍的最新动向,从而使得购书者能在第一时间了解新书的信息并购买它。
此系统的开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
网站建设基于SQL Server2005和Visual Studio2010 为平台,以C#为编程基础,功能强大,安全性好,易于操作,可视化的界面开发出更为完备的应用程序。
经过调试、编译与实现,该程序界面友好、程序设计风格朴素,简单明了。
网上书店管理系统使得顾客和管理员对平台的操作更加准确和安全。
此系统的主要功能分为顾客界面功能、管理员界面功能:
(1)顾客界面功能:
1.登陆功能:
打开登陆界面,才可进行相关操作。
2.注册信息:
用户通过注册,在平台上留下自己的信息。
实现用户的注册。
3.订单查询:
用户登录后可对自己曾经购买过的书籍进行历史订单查询。
4.个人信息查询:
通过顾客信息查询,可以查询到顾客在该购书网站的所有基本信息。
(2)管理员界面功能:
1.登录功能:
管理员可以通过登录进入管理员管理内容。
2.顾客信息查询:
管理员可以对顾客个人账号及信息进行查看、删除、修改。
3.订单管理:
管理员可以对顾客所提交的订单进行查看、删除及更改订单状态。
1.2具体分析
(1)用户系统:
用户可以通过注册新用户,登陆系统,进行顾客个人信息的查询,图书信息的查询,与购书、下单订购图书等操作。
(3)管理员:
该系统为后台管理员使用,通过修改,更新,删除可以实现对顾客的管理,订单管理,图书信息管理及图书购买管理等功能。
1.3用户需求
(1)顾客用户:
此系统的用户要通过注册,登录才可以得到个人信息,查询图书信息,提交订单,查看订单,支付购书金额。
(3)管理员:
管理员通过后台登录的使用,可以实现对顾客信息的管理(查看、修改、删除),订单管理。
2系统概要设计
2.1系统结构图
网上书店管理系统主要分为两大模块,分别是顾客功能模块和管理员功能模块,用户只有通过验证后才能进入到网上书店系统当中去。
如果还不是注册用户,登录的效果无效,需要注册后才能进行网站的访问。
这套系统适合与HTML两个结合在一起制作网站。
顾客功能模块主要包括用户注册,注册页面主要包括用户名,密码,姓名,性别,年龄,email,所在城市,地址等几个方面。
图书查询方面主要有图书编码,书名,作者,价格,出版社,出版时间,ISBN等信息的查询。
顾客可根据可根据自己需要查看浏览自己需要的信息,同时在查询后可以添加订单,对订单进行支付。
当完成整个订单流程,管理员订单状态进行修改。
当顾客下完订单后,顾客将会收到系统的通知信息。
告知顾客购书详细情况。
管理员功能模块主要包括管理员登陆,管理员的添加,图书信息管理,订单信息管理,顾客基本信息管理,来进行相关的修改,更新,删除的操作。
图2.1顾客功能结构图
图2.2管理员功能结构图
2.2数据字段说明
2.2.1表设计
1.管理员表设计
admin表的主要功能是:
用来存储登录的信息。
详细见表2-1:
表2-1admin表
字段名
数据类型
长度
是否主键
备注
adminid
字符串
50
是
管理员
adminname
文本
50
否
用户名
password
字符串
50
否
密码
admintel
数字
11
否
联系电话
adiminage
整型
4
否
年龄
2.注册表设计
guke表的功能是:
用来存储顾客注册时的信息,其中包括顾客注册的用户名,密码以及用户个人的真实信息有年龄等详细信息。
详细见表2-2。
表2-2guke表
字段名
数据类型
长度
是否主键
备注
userID
字符串
32
是
用户名
adminID
字符串
32
否
管理员
upassword
字符串
50
否
设置密码
username
字符串
50
否
真实姓名
useremail
字符串
50
否
邮箱
city
字符串
16
否
城市
sex
字符串
10
否
性别
age
数字
10
否
年龄
address
字符串
50
否
地址
3.product表设计
product表的主要功能是:
用来存储图书的信息,。
详细见表2-3:
表2-3product表
字段名
数据类型
长度
是否主键
备注
bookid
字符串
50
是
图书编号
bookname
字符串
50
否
图书书名
author
字符串
16
否
作者
price
字符串
50
否
价格
mark
字符串
50
否
出版社
jianjie
字符串
20
否
图书简介
productdate
时间
datetime
否
出版日期
ISBN
字符串
50
否
ISBN
4.dinggou表设计
dinggou表的主要功能是:
用来存各顾客的详细订单情况详细见表2-4:
表2-4dinggou表
字段名
数据类型
长度
是否主键
备注
actionid
字符串
50
是
订单号
actiondate
时间
50
否
收货地址
receipt
字符串
datetime
否
邮编
actionpostcode
数字
50
否
支付方式
deliverymethod
字符串
50
否
送货方式
paid
字符串
50
否
总金额
actiontel
数字
11
否
收货人电话
3详细设计
网上书店系统的访问需要通过登录后才能进去,只有登录或者注册后的用户才可进行浏览,访问,唯独只有登陆后才可进行图书查询,提交订单,查看历史订单,以及修改个人信息。
3.1用户界面设计
用户通过登录界面设置有用户登录的用户名,密码。
其中下方有用户登录和管理员登录的方式。
没有注册的用户登录网站之前需要进行用户的注册。
才可以进行登录操作。
用户的界面截图如下:
图3.1用户登陆界面
用户信息注册界面主要是注册用户的基本信息的填写的,通过注册用户后在数据库当中存储这些信息,才能通过这样的信息进行登录成功。
图3.2网站注册信息界面
新顾客用户在完成注册信息的填写后可通过此页面来登录本网站如下图所示:
图3.3新顾客用户登陆界面
新用户登陆后的页面如下:
图3.4顾客用户个人主页界面
顾客用户可通过此页面来进行个人信息管理。
如图:
图3.4顾客用户个人主页界面
用户可通过此页面来进行图书查询,如下图:
图3.5购书查询界面
用户可通过此页面来把所要购买的图书添加到订单,如下图:
图3.6图书购买界面
用户可通过此页面来进行订单确认,如下图:
图3.7订单确认界面
用户可通过此页面来选择支付方式,如下图:
图3.8支付界面
用户可通过此页面来进行最后的图书订单支付,如下图:
图3.9确认支付界面
3.2管理员管理界面设计
管理员必须进行登陆,才可进行所有的操作。
图3.10登陆界面
管理员的个人主页系统,如下图:
图3.11管理员信息系统界面
管理员可通过此页面来进行顾客信息管理,如下图:
图3.12顾客信息管理界面
管理员可通过此页面来进行图书管理,如下图:
图3.13图书信息管理界面
管理员可通过此页面来进行订单信息管理,如下图:
图3.14订单信息管理界面
4系统实现
4.1用户登陆模块实现
namespaceWindowsFormsApplication2
{publicpartialclassdenglu:
Form
{publicstaticstringc;
publicdenglu()
{InitializeComponent();}
privatevoidlabel1_Click(objectsender,EventArgse)
{}
privatevoidlabel2_Click(objectsender,EventArgse)
{}
privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse)
{}
privatevoidForm1_Load(objectsender,EventArgse)
{}
privatevoidbutton3_Click(objectsender,EventArgse)
{zhucefrm=newzhuce();
frm.Show();}
privatevoidtextBox1_TextChanged_1(objectsender,EventArgse)
{}
privatevoidbtndenglu_Click(objectsender,EventArgse)
{stringa=txtIDd.Text;
c=a;
intresult;
if(!
int.TryParse(a,outresult))
{MessageBox.Show("用户名必须为8位数字组成","提示");}
elseif(txtIDd.Text.Length>8)
{MessageBox.Show("用户名必须为8位数字组成","提示");}
elseif(txtpassword.Text.Length<8||txtpassword.Text.Length>16)
{MessageBox.Show("密码必须由8—16位的数字和字母组成","提示");}
else
{SqlConnectionconn=newSqlConnection();
conn.ConnectionString="datasource=s512151;database=wss;integratedsecurity=sspi";
conn.Open();
SqlCommandcmd=newSqlCommand();
stringsql="select*fromgukewhereuserid="+a;
cmd.CommandText=sql;
cmd.Connection=conn;
{using(SqlDataReaderreader=cmd.ExecuteReader())
{if(reader.HasRows)
{while(reader.Read())
{stringp=reader["upassword"].ToString().Trim();
if(txtpassword.Text.Trim()==p)
{MessageBox.Show("登录成功!
");
gukeindexfrm=newgukeindex();
frm.Show();}
else
{MessageBox.Show("密码错误!
");
txtpassword.Clear();}}}
else
{MessageBox.Show("用户名不存在!
");
txtIDd.Clear();
txtpassword.Clear();}}
conn.Close();}}}
privatevoidtxtIDd_TextChanged(objectsender,EventArgse)
{}
privatevoidgroupBox2_Enter(objectsender,EventArgse)
{}
privatevoidbtndenglu2_Click(objectsender,EventArgse)
{stringb=txtid2.Text.Trim();
intresult;
if(!
int.TryParse(b,outresult))
{MessageBox.Show("用户名必须为8位数字组成,"提示");}
elseif(txtid2.Text.Length>8)
{MessageBox.Show("用户名必须由8位数字组成,"提示");}
elseif(txtpassword2.Text.Length<8||txtpassword.Text.Length>16)
{MessageBox.Show("密码必须由8—16位的数字和字母组成","提示");}
else
{SqlConnectionconn=newSqlConnection();
conn.ConnectionString="datasource=s512151;database=wss;integratedsecurity=sspi";
conn.Open();
SqlCommandcmd=newSqlCommand();
stringsql="select*fromadminwhereadminid="+b;
cmd.CommandText=sql;
cmd.Connection=conn;
{using(SqlDataReaderreader=cmd.ExecuteReader())
if(reader.Read())
{stringpassword=reader.GetString(reader.GetOrdinal("password"));
if(txtpassword2.Text==password)
{MessageBox.Show("登录成功!
");
adminindexfrm=newadminindex();
frm.Show();}
else
{MessageBox.Show("密码错误!
");
txtpassword2.Clear();}}
else
{MessageBox.Show("用户名不存在!
");
txtid2.Clear();
txtpassword2.Clear();}}
conn.Close();}}}}
4.2用户注册模块实现
namespaceWindowsFormsApplication1
{publicpartialclasszhuce:
Form
{publiczhuce()
{InitializeComponent();}
privatevoidbutton3_Click(objectsender,EventArgse)
{}
privatevoidlabel6_Click(objectsender,EventArgse)
{}
privatevoidtextBox6_TextChanged(objectsender,EventArgse)
{}
privatevoidbutton2_Click(objectsender,EventArgse)
{txtaddress.Clear();
txtcity.Clear();
txtgkage.Clear();
txtgkemail.Clear();
txtgkID.Clear();
txtpassword.Clear();
txtqrpassword.Clear();
txtzsname.Clear();}
privatevoidlblqrpassword_Click(objectsender,EventArgse)
{}
privatevoidtextBox3_TextChanged(objectsender,EventArgse)
{}
privatevoidbtnok_Click(objectsender,EventArgse)
{stringid=txtgkID.Text.Trim();
stringpassword=txtpassword.Text.Trim();
stringname=txtzsname.Text.Trim();
stringemail=txtgkemail.Text.Trim();
stringage=txtgkage.Text.Trim();
stringcity=txtcity.Text.Trim();
stringaddress=txtaddress.Text.Trim();
stringsex=null;
intresult;
SqlConnectionconn=newSqlConnection();
conn.ConnectionString="datasource=s512151;database=wss;integratedsecurity=sspi";
conn.Open();
SqlCommandcmd=newSqlCommand();
stringsql="selectcount(*)fromgukewhereuserid="+id;
cmd.CommandText=sql;
cmd.Connection=conn;
stringa=cmd.ExecuteScalar().ToString();
if(a!
="0")
{MessageBox.Show("用户名已存在,请重新输入");}
conn.Close();
if(!
int.TryParse(id,outresult))
{MessageBox.Show("用户名必须为8位数字组成","提示");}
elseif(id.Length>8)
{MessageBox.Show("用户名必须由8位数字组成","提示");}
elseif(age.Length<1||age.Length>3)
{MessageBox.Show("用户名必须由1-3位数字组成","提示");}
elseif(password.Length<8||password.Length>16)