1、图书销售系统1.课程设计的目的A框架程序设计课程设计是计算机科学与技术专业的A程序设计课程的综合性实践环节。A框架设计是一门实用性很强的学科,是进行网页开发的主要工具,只有进行实际操作,才能将理论知识和实际应用有机的结合起来,锻炼学生分析解决实际问题的能力,提高学生实际运用的能力,为学生毕业设计,日后工作中的软件开发打下良好的基础。2.功能描述本系统主要由二个模块构成:前台登录模块,后台管理模块。前台登录模块所实现的功能是:用户在为登录之前,可以查看图书,查看详细信息,进行密码查找,注册会员。登录后可以进行购买商品,将商品存放入购物车内,可以进行操作,并可以提交订单,管理个人信息,查看已购商品
2、。后台管理模快所实现的功能是:管理员可以添加管理者,删除编辑管理员,可以管理图书,添加图书,添加种类,管理用户,审核订单,管理订单。为保证图书系统能够长期、安全、稳定、可靠、高效的运行、本图书销售系统应该满足的性能需求是系统处理的准确性与及时性、系统的开放性和系统的可扩充性、系统的易用性和易维护性、系统的标准行、系统的先进性、系统的响应速度。3.方案论证3.1总体设计3.1.1需求分析通过对网上图书网站的系统研究,开发图书系统应主要包括用户页面和后台管理。其中前台分为图书分类、图书信息、购物车等。管理员能够进行用户账户管理、信息维护、用户信息查看等功能。本系统使用的开发环境为Visual St
3、udio.NET、数据库为SQL2005。Visual Studio.NET是目前最流行的Windows平台应用程序开发环境。Visual Basic .NET、Visual C+ .NET、Visual C# .NET 和 Visual J# .NET js全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。3.1.2功能框图系统前台层次图:系统前台层次图如图1所示,主要分为两个层次。图1总体
4、功能框图3.1.3程序流图图2现业务流程图3.2详细设计3.2.1数据库设计本网站采用Microsoft SQL Server 2005,数据库名称为ITweb,包含10个数据表:admin、 city、user、gonggao、help1、leibie、leibiex、newcenter、order、product。 其结构如图2所示图3数据库结构表各表数据项如下: (1)管理员表 admin表1 管理员表 admin字段名称数据类型长 度说 明IDInt主键adminnvarchar50passwordnvarchar50(2)配送城市表 city表2 配送城市表 city字段名称数据类型
5、长 度说 明Idnvarchar50主键Oneidnvarchar2Twoidnvarchar50Therenvarchar50Namenvarchar50(3)用户表 user表3 用户表 user字段名称数据类型长 度说 明uidint主键usernamenvarchar50truenamefloat50passwordnvarchar50questionnvarchar8answernvarchar50emailnvarchar50QQnvarchar50lastlogintimenvarchar50IDCARDnvarchar50(4)公告表 gonggao表4 公告表 gonggao
6、字段名称数据类型长 度说 明gidInt主键gtitlenvarchar50gcontentintTextgdatenvarchar50gfeelint4(5)网站声明表 help1表5 网站声明表 help1字段名称数据类型长 度说 明hidint主键henameVarchar200(6)一级类别表 leibie表6 一级类别表lsibie字段名称数据类型长 度说 明Classidint主键Classnamenvarchar(50)15(7)二级类别表 leibiex表7 二级类别表 leibiex字段名称数据类型长 度说 明Classxidint4主键ClassidInt50Classxn
7、amenvarchar(max)50(8)商城新闻表 newcenter表8 商城新闻表 newcenter字段名称数据类型长 度说 明nidint4主键newtitleInt50newcontactnvarchar(max)50newshijiandatetimehittimeint(9)订单表 orders表9 订单表 orders字段名称数据类型长 度说 明oidint4主键orderidvarchar(50)50usernameIntuseriddatetimeshouhuonamevarchar50addressvarchar50postcodevarchar50Telephonev
8、archar50songhuofsvarchar50fukuanfsvarchar50(10)图书信息表 product表10 图书信息表 product字段名称数据类型长 度说 明oidint4主键classidvarchar(50)50classxidIntproductnamedatetimeproductintroducevarchar50productchuvarchar50productimagevarchar50hotpricevarchar50newproductvarchar50guigevarchar50productguanjiannvarchar200adddateDa
9、tetimepkcintslinthittimesintjifenintzenpinnvarchar50第 16 页 共21页3.2.2程序界面设计网站首页应该是一个信息含量较高、内容较丰富的宣传平台网站首页技术分析小区物业内部管理网的主页主要使用了用户控件技术。用户控件基本的应用就是把网页中经常用到的且使用频率较髙的程序封装到一个模块中,以便在其他页面中重复使用,以此提高代码的重用性和程序开发的效率。用户控件的应用始终融汇着一个髙层的设计思想,即“模块化设计,模块化应用”的原则。当用户在.aspx页面中引用用户控件时,页面解析器将从.aspx文件中动态地生成一个页面并将其编译到一个配件中(托
10、管的库中,这种页面式的创建方式和不用编译的部署方式使得用户控件的开发变得极为容易。用户控件在小区物业内部管理网内页面中频繁地使用(1)网站首页用户进入网站的首页如图4所示图4网站首页面用户进入网站首页面,在未登录时可以查看任何图书,查看图书详细信息,但不能进行购买。如果是新用户,可以进行注册会员,再进行购买。如果已经是会员用户忘记密码可以查找自己的密码。用户登录后,可以进行购物,还显示个人信息,以及买书的信息,还可以进行修改。从而了解自己的信息。(2)用户注册页面代码如下:if (Request.QueryStringUserID = null) /添加注册的会员信息到数据库中 DataBas
11、e.ExecSql(insert into hyxx(hydlm,mm,xb,xm,dz,dh,sr,Email,sfzh) + values( + this.TextBox1.Text.Trim() + , + this.Textbox5.Text.Trim() + , + this.txtxb.SelectedValue + , + + this.Textbox2.Text.Trim() + , + this.TextBox3.Text.Trim() + , + + this.TextBox4.Text.Trim() + , + this.Textbox7.Text.Trim() + ,
12、+ + this.Textbox8.Text + , + Textbox10.Text.Trim() + );else/更新当前的会员信息if (this.Textbox5.Text.Trim() = *)DataBase.ExecSql(update hyxx set mm= + this.Textbox5.Text.Trim() + , + xm= + this.Textbox2.Text.Trim() + ,dz= + this.TextBox3.Text.Trim() + , + dh= + this.TextBox4.Text.Trim() + ,sr= + this.Textbox
13、7.Text.Trim() + , + email= + this.Textbox8.Text + where hydlm= + Request.QueryStringUserID.ToString()+ ); 用户注册页面如图5所示图5户注册图这个页面用户可以进行会员注册,注册后才可以进行图书的购买,用户名、密码、真实姓名等不可以为空,可以方便管理员进行管理。如果为空,会提示用户必须填写,才可以注册,也方便用户能够与其他用户的信息分开。(3)个人信息修改页面代码如下:/修改个人信息protected void Button1_Click(object sender, EventArgs e)
14、 string mysql1=updated_users set username=+TextBox1.Text+,regdate=+TextBox2.Text+,email=+TextBox3.Text+,qq=+TextBox4.Text+,Address=+TextBox5.Text+,Postcode=+TextBox6.Text+,Telephone=+TextBox7.Text+,question=+TextBox8.Text+,answer=+TextBox9.Text+;intn=Class1.exexu(mysql1);/修改个人信息的是否成功if (n 0)Label1.V
15、isible = true;Label1.Text = 修改个人信息成功!; /Response.Write(alert(修改个人信息成功); /Server.Transfer(editbankuaigx.aspx?id= + Request.QueryStringid); else Label1.Visible = true;Label1.Text = 修改个人信息失败!;个人信息修改页面如图6所示图6个人信息修改这个页面是个人信息修改的第一个页面,必须通过输入正确的用户名才能进入下一页面,防止其他用户随意乱改,保护用户隐私,从而方便管理员的管理工作。(4) 图书分类查找代码如下:/ 在此处
16、放置用户代码以初始化页面if (!Page.IsPostBack)/绑定类别列表this.Dropdownlist2.DataTextField=spflmc; this.Dropdownlist2.DataValueField=spflbh; this.Dropdownlist2.DataSource = DataBase.Get_Table(select * from spflxx);this.Dropdownlist2.DataBind();if (Request.QueryStringID != null)/显示当前的商品信息DataTable tmpda = new DataTabl
17、e();tmpda = DataBase.Get_Table(select * from spxx where spbh= + Request.QueryStringID);if(tmpda.Rows.Count0) this.TextBox1.Text=tmpda.Rows0spmc.ToString(); this.Textbox3.Text=tmpda.Rows0spjs.ToString();/显示当前的商品图片Image1.ImageUrl = ./image/ + tmpda.Rows0sptpwjm.ToString(); Sessionimgname=tmpda.Rows0sp
18、tpwjm.ToString(); this.Textbox2.Text=tmpda.Rows0spjg.ToString(); this.Dropdownlist2.SelectedValue = tmpda.Rows0spflbh.ToString(); this.Textbox5.Text=tmpda.Rows0spxh.ToString(); this.Textbox6.Text = tmpda.Rows0spdw.ToString();图书查找如图7所示图7最新商品图这个面可以点击左侧导航中的图书类别页面链接,查找到最新的图书商品,查找后的图书显示到右侧的内容区域,其他分类商品也是如
19、此。便于用户找到自己想要的图书,显得此页面的整洁方便,还可以快速查询到需求的信息。(5) 查看订单页面代码如下:public partial class ShowOneNews : System.Web.UI.Pageprotected void Page_Load(object sender, EventArgs e)if (!Page.IsPostBack)/根据传递的订单编号 查询 显示订单主表内容 DataTable tmpda = new DataTable();tmpda = DataBase.Get_Table(select * from News where id= + Req
20、uest.QueryStringid.ToString() + );if (tmpda.Rows.Count0)this.Label1.Text = tmpda.Rows0newstitle.ToString();this.Label2.Text = tmpda.Rows0newscontent.ToString(); this.Label3.Text=tmpda.Rows0newstime.ToString();查看订单页面如图8所示图8订单页面图该页面的实现是通过G ridView绑定数据源SqlDataSource所实现的,有删除功能,通过这两个空间的使用,便于管理员管理后台的多条记录。
21、这个页面还可以查看到以前的订单记录。避免重发错发,给用户带来方便。(6) 新闻列表信息代码如下:public partial class newslist : System.Web.UI.Pageprotected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) DataTable tmpda = new DataTable();/加载新闻列表 DataTable dt = DataBase.Get_Table(select * from News order by id DESC ); if(dt.Rows.C
22、ount 0)Label1.Visible = true;Label1.Text = 添加新闻成功!;/Response.Write(alert(添加新闻成功); /Server.Transfer(editbankuaigx.aspx?id= + Request.QueryStringid);elseLabel1.Visible = true;Label1.Text = 添加新闻失败!;添加新闻信息页面如图10所示图10添加新闻信息图5心得体会通过一周的课程设计,让我在熟悉所学知识的同时,明白建好一个数据库,前期需求分析,模块设计等的重要性。运用图书销售系统可以有效地管理书店正常运营,对图书进
23、行有效管理,减少书店工作人员负担,同时也有利于顾客查询。本次设计的图书销售系统,所建立的表过多,在数据录入.查询.修改有所麻烦。建议应该尽可能将有关信息集成在同一表中,通过设计多功能用户界面,随时可建立其他表。6参考文献1 屈辉立,陈可明,石武信.ASP网站编程教程M.第1版, 北京:北京希望电子出版社,2011 2 白勇.用B/S模式构建在线考试系统J,重庆电力高等专科学校学报,2013,10(4) 3 Jiang Guo,Yuehong Liao,Behzad Parviz.A Survey of J2EE Application Performance Management SystemsJ,Proceedings of the IEEE International Conference on Web Services (ICWS04),2014.6(5):1732.4 C# 数据库管理范例: