网上超市管理系统毕业设计_第1页
网上超市管理系统毕业设计_第2页
网上超市管理系统毕业设计_第3页
网上超市管理系统毕业设计_第4页
网上超市管理系统毕业设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网上超市管理系统目录第一章绪论 -1-第一章绪论1.1开发背景随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以及计算机与网络技术为基础的信息系统正处以蓬勃发展的时期。网上超市系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的繁琐过程,是顾客的购物过程变得轻松,快捷。网上超市管理系统是一个针对网上销售商品、管理商品的一个专门软件。随着网络的广泛普及,网络支付手段的逐步完善,越来越多的人逐渐习惯于网上购物,习惯于鼠标点击下订单,送货上门的快捷便利的购物方式。传统的购物观念正在被网上购物这种快捷的方式所冲击。现在的网上超市,具有强大的功能,在线展示商品,在线购买商品,在线交易,在线网店的管理等,借助网络的跨地域特点,更是将传统的商店的地域限制加以突破,全国各地的顾客都可以通过网络在同一个网上超市购买商品,从而大大增加了客户的数量。网上超市在线网站致力于提供商品展示及订购为核心的网上购物服务宣传自己商店的产品并将自己的产品展示给客户,让客户通过网站便能对自由的选择的购买商品。该网站是通过用户登录浏览商品、购买、确定购买、查看订单、实现用户模块功能。其中订单的生成,网站后台管理系统,团购系统管理员来管理商品、订单、用户来实现。1.2开发运行环境1.2.1软件需求操作系统:WindowsXP数据库公交:SQLServer2005开发工具:MicrosoftVisualStudio2008可进行界面管理,可浏览、修改客户的一些资料。2.订单的管理:管理员根据客户的订单,修改订单的状态,是否已发货。以及顾客收到商品后更改顾客的付款状态。3.管理商品功能:(1)添加新商品:管理员可以通过这个功能向本商店录入新的商品,添加的信息包括:商品的名称、商品册图片、商品的ISBN编号、商品的类别、商品的生产厂商、商品的单价、商品的生产日期、商品的有效截止日期(这里的有效截止日期可以为空,因为对于某些商品来说,如电子商品,就没有有效截止日期)、商品的卖出数量(这里商品的卖出数量是在顾客确定购买商品后,订单产生过后自动修改的)、还有商品的库存量。(2)修改商品的信息:管理员可以进行对商品信息的修改,如商品名称,库存量等。(3)删除商品管理员可以对过期的商品进行删除。(4)商品类别的管理:管理员可添加、修改、删除类别信息。第三章业务流程设计3.1系统功能模块图3-1系统功能图3.2网站前台功能图图3-2前台功能图3.3后台管理功能图图3-3后台功能图第四章逻辑设计4.1数据库表的设计1.顾客表(Customers)顾客表是指网站的客户,主要在前台进行活动。主要含有如下字段:顾客的编号、顾客登录系统时的登录名(这里申请的用户登录名不能重复)、顾客的真实姓名、顾客的登录密码、顾客的详细的家庭住址、顾客的出生日期、顾客的性别、顾客的照片以及客户的权限所对应的权限编号。序号列名数据类型长度小数位标识主键允许空默认值说明1CusIDInt0是否2LoginNamevarchar500是3CusNamevarchar500是4CusPwdvarchar200是5Addressvarchar500是6BirthdayDatetime0是7GenderChar20是8PhotoNvarchar500是9ReghtIDint0是表4-1顾客表2.一级商品类别表(FirstCategry)一级商品类别表包括以下字段:有商品的一级类别的类别编号、一级商品类别的类别名称。序号字段数据类型长度小数位标识主键允许空默认值说明1firstCateIDInt0是否2firstNameVarchar300是表4-2一级商品类别表3.二级商品类别表(SendCategry)二级商品类别表包括以下字段:有商品的二级类别编号、有商品的二级类别名称、以及二级类别所对应的一级类别的编号。序号字段数据类型长度小数位标识主键允许空默认值说明1sendCateIDInt0是否2SendNameVarchar300是3ParentIdInt是表4-3二级商品类别表4.商品表(Goods)商品表包括以下字段:有商品的编号、商品的名称、商品册图片、商品的ISBN编号、商品的类别编号(这里指的的二级类别的类别编号)、商品的生产厂商、商品的单价、商品的生产日期、商品的有效截止日期(这里的有效截止日期可以为空,因为对于某些商品来说,如电子商品,就没有有效截止日期)、商品的卖出数量(这里商品的卖出数量是在顾客确定购买商品后,订单产生过后自动修改的)、还有商品的库存量。序号字段数据类型长度小数位标识主键允许空默认值说明1GoodsIDInt0是否2GoodsNameVarchar500是3PictureNvarchar500是4ISBNVarchar500是5CategoryIDInt0是6CompanyVarchar500是7UnitPriceFloat0是8PublishDateDatetime0是9EndDateVarchar500是10SellNumInt0是11StoreNumint0是12MemberPricefloat0是13IsHotInt0是14DisCountint0是15Descriptiontext0是表4-4商品表5.管理员表(Managers)管理员表是指登录系统的后台的人员,主要包括以下字段:管理员的编号、管理员的真实姓名(可允许为空)、管理员的登录密码、管理员的照片等。序号字段数据类型长度小数位标识主键允许空默认值说明1ManagersIDInt0是否2ManaNameVarchar200是3ManaPwdVarchar500是4RightIDInt0是5PhotoVarchar500是6LoginNamevarchar200是表4-5管理员表6.订单表(Orders)订单表主要包括以下字段:订单编号、产生订单的日期、购买客户编号、购买的商品的总价格、购买的商品的总数量、标识该订单是否已经付过款以及店家是否发货的条件。序号字段数据类型长度小数位标识主键允许空默认值说明1OrdersIDInt0是否2PublishDateDatetime0否3UserIDInt0否4TotalPriceFloat0否5TotalCountInt0否6IsPayInt0是7IsSendint0是表4-6订单表7.订单详细表(OrderDetails)订单详细表是对订单表的进一步补充,主要包括以下字段:有详细订单的编号、所对应的订单编号、购买的商品的编号、购买某种商品的数量、商品的单价。序号字段数据类型长度小数位标识主键允许空默认值说明1OrderDetailsIDInt0是否2OrderIDInt0否3GoodsIDInt0否4QuantityInt0否5UnitPricefloat0否表4-7订单详细表8.权限表(Right)权限表主要包括以下字段:有权限的编号、权限名称。序号字段数据类型长度小数位标识主键允许空默认值说明1RightIDInt0是否2RightNamevarchar500是表4-8权限表

第五章系统实现5.1首页(登录、注册、浏览商品)图5-1系统首页图功能介绍:本系统的首页显示了本网店的一些商品的信息,用户可以在首页点击某商品显示商品的详细信息。首页商品显示的代码,在本页面主要采用了数据源SqlDataSource和gridView:数据源SqlDataSource的源代码如下:<asp:SqlDataSourceID="HotGoodsData"runat="server"ConnectionString="DataSource=.;InitialCatalog=ShoppingManagerSystem;UserID=sa;Password=123456"ProviderName="System.Data.SqlClient"SelectCommand="selecttop12*fromGoodsorderbySellNumdesc"></asp:SqlDataSource>5.2根据条件查询符合条件的相应商品图5-2根据条件查找商品图5-3查找到的商品如图5-2所示,根据首页客户选择的商品类别以及在‘关键字’的文本框中输入的值,来搜索符合相应条件的商品列表(如图5-3所示),实现代码如下:首先是在Default.aspx首页中要选择相应类别的“类别编号”和输入“文本框”中的信息,然后再跳转到SearchByKey.aspx也面;实现该功能的代码如下(在母版也得ImgButton按钮的事件):protectedvoidImageButtonSearch_Click(objectsender,ImageClickEventArgse){stringkey=txtSearchKey.Text.Trim();intfirId=Convert.ToInt32(ddlFirCategry.SelectedValue);Response.Redirect("SearchByKey.aspx?firId="+firId+"&key="+key);}运行上述代码后,会跳转到SearchByKey.aspx页面,该页面要接受相应传过来的数据,并进行数据绑定,实现代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){intfirId=Convert.ToInt32(Request.QueryString["firId"]);stringkeys=Request.QueryString["key"].ToString();BindByKeys(firId,keys);}}stringstrCon=ConfigurationManager.ConnectionStrings["MyCon"].ToString();SqlConnectioncn=null;SqlDataAdapterda=null;DataSetds=newDataSet();privatevoidBindByKeys(intfirId,stringkeys){stringsql="selectdistinctGoods.*FROMGoods,SendCategry,FirstCategryWHEREGoods.CategoryID=SendCategry.SendCateIDandSendCategry.ParentId='"+firId+"'andGoods.GoodsNamelike'%"+keys+"%'";cn=newSqlConnection(strCon);cn.Open();da=newSqlDataAdapter(sql,cn);da.Fill(ds);SearchByKeyWords.DataSource=ds.Tables[0];SearchByKeyWords.DataBind();}5.3购物车的实现图5-4选中某商品,查看某商品信息图5-5某商品(图5-4)详细信息图5-6购物车图功能介绍:当用户登录到系统的首页后,用户可浏览相应商品的信息,点击商品(如图5-4所示)查看商品的详细信息,即进入图5-5所示的见面,当用户确定购买商品后把商品添加到购物车中,然后可对购物车中的商品数量进行修改,也可以对已加入到“购物车”中,最后又不想购买的商品进行删除。首先是把商品添加的购物车中代码的实现,要添加到购物车是,要对用户是否登录进行判断,若登录过后就进入购物车界面看到已选择的商品(如图5-6所示),否则,进入用户登录界面,实现代码如下:5.3.1添加商品到购物车的实现protectedvoidimgBtnBuy_Click(objectsender,ImageClickEventArgse){if(Session["CurrentUser"]!=null){if(Session["Cart"]==null){this.CreateCart();}else{DataTablecart=Session["Cart"]asDataTable;if(this.ExistGoods(cart)){this.AddGoodsToSession(cart);}}Response.Redirect("Cart.aspx");}else{Response.Redirect("UserLogin.aspx");}}///新建购物车表privatevoidCreateCart(){DataTablecart=newDataTable();cart.Columns.Add("GoodsID");cart.Columns.Add("GoodsName");cart.Columns.Add("Quantity");cart.Columns.Add("UnitPrice");cart.Columns.Add("Picture");this.AddGoodsToSession(cart);}///判断商品是否已经存在购物车中,若有某商品,数量加1privateboolExistGoods(DataTablecart){foreach(DataRowdrincart.Rows){if(dr["GoodsName"].ToString().Equals(this.labGoodsName.Text.Trim())){dr["Quantity"]=Convert.ToInt32(dr["Quantity"])+1;Session["Cart"]=cart;Response.Redirect("Cart.aspx");}}returntrue;}///添加新商品publicvoidAddGoodsToSession(DataTablecart){DataRowdr=cart.NewRow();dr["GoodsID"]=ViewState["GoodsID"].ToString();dr["GoodsName"]=this.labGoodsName.Text.Trim();dr["Quantity"]="1";dr["UnitPrice"]=this.labPrice.Text.Substring(0,this.labPrice.Text.Length-1);;dr["Picture"]=this.imgPhoto.ImageUrl;cart.Rows.Add(dr);Session["Cart"]=cart;}5.3.2对购物车商品的修改的实现protectedvoidgvCart_RowCommand(objectsender,GridViewCommandEventArgse){if(e.CommandName=="Add"){intgoodsId=Convert.ToInt32(e.CommandArgument);foreach(DataRowdrin((DataTable)Session["Cart"]).Rows){if(Convert.ToInt32(dr["GoodsID"])==goodsId)dr["Quantity"]=Convert.ToInt32(dr["Quantity"])+1;}BindCart();}if(e.CommandName=="Minus"){intgoodsId=Convert.ToInt32(e.CommandArgument);foreach(DataRowdrin((DataTable)Session["Cart"]).Rows){if(Convert.ToInt32(dr["GoodsID"])==goodsId){dr["Quantity"]=Convert.ToInt32(dr["Quantity"])-1;}if(Convert.ToInt32(dr["Quantity"])==1){ButtonbtnMinus=gvCart.FindControl("btnMinus")asButton;btnMinus.Enabled=false;}}BindCart();}}protectedvoidgvCart_RowDeleting(objectsender,GridViewDeleteEventArgse){DataTablecart=Session["Cart"]asDataTable;cart.Rows[e.RowIndex].Delete();Session["Cart"]=cart;BindCart();}privatevoidBindCart(){cart=(DataTable)Session["Cart"];TotalPrice(cart);gvCart.DataSource=cart;gvCart.DataBind();}5.4订单的产生用户点击“结算”按钮时,同时产生订单。实现代码如下:protectedvoidimgBtnCaculate_Click(objectsender,ImageClickEventArgse){intgoodsQuantity=0;if(Session["Cart"]==null||((DataTable)Session["Cart"]).Rows.Count==0){Response.Write("<script>alert('你的购物车为空,请选购商品!');document.location='Default.aspx';</script>");return;}Ordersorders=newOrders();orders.PublishDate=DateTime.Now;if(labTotalPrice.Text!=String.Empty){orders.TotalPrice=Convert.ToDecimal(labTotalPrice.Text);}//根据loginName获得idorders.UserID=CustomersBLL.GetUserIDByName(Session["CurrentUser"].ToString());///计算购买商品的数目foreach(DataRowdrin((DataTable)Session["Cart"]).Rows){goodsQuantity+=Convert.ToInt32(dr["Quantity"]);}orders.TotalCount=goodsQuantity;OrdersBLL.AddOrders(orders);//订单生成//详细订单OrderDetailsorderDetails=newOrderDetails();Goodsgoods=newGoods();Ordersorder=newOrders();foreach(DataRowdrin((DataTable)Session["Cart"]).Rows){orderDetails.GoodsID=Convert.ToInt32(dr["GoodsID"]);orderDetails.OrderID=OrdersBLL.GetMaxID();orderDetails.Quantity=Convert.ToInt32(dr["Quantity"]);orderDetails.UnitPrice=(float)Convert.ToDouble(dr["UnitPrice"]);OrdersDetailsBLL.AddOrderDetails(orderDetails);}foreach(DataRowdrin((DataTable)Session["Cart"]).Rows){intgoodsId=Convert.ToInt32(dr["GoodsID"]);intquantity=Convert.ToInt32(dr["Quantity"]);intstoreNum=GoodsBLL.GetStoreNum(goodsId);intsellNum=GoodsBLL.GetSellNum(goodsId);GoodsBLL.UpdateStoreNum(storeNum-quantity,goodsId);GoodsBLL.UpdateSellNum(sellNum+quantity,goodsId);}Session.Remove("Cart");Response.Write("<script>alert('结算成功,请等待审批订单');window.location='Default.aspx'</script>");}5.5添加商品(后台界面)图5-7商品添加图功能介绍:如上图所示,当管理员进入到商品的添加页面时,输入商品的信息,当点击“添加商品”按钮后,下面的gridview控件数据会更新,把刚插入的最新的信息显示在最上面,以确保商品添加成功!实现代码如下:protectedvoidbtnAddGoods_Click(objectsender,EventArgse){Goodsgoods=newGoods();goods.GoodsName=txtGoodsName.Text;goods.Picture=FileUploadPic.FileName;goods.ISBN=txtISBN.Text;goods.CategoryID=Int32.Parse(d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论