基于net的网上购物系统的设计与实现—计算机毕业设计(论文)内容摘要:

以及产品中心的接口,提供简单快捷的商品查询,并且能够显示当前最新的商品和当前销量最好的商品。 网上购物系统 前台 系统首页 商品管理 购物车 订单管理 用户管理 用户控件 第 8 页 共 25 页 2. 商品管理 允许顾客浏览商品列表,查看所有商品类别以及商品的详细信息。 3. 购物车 在已注册 ID 的 情况下,登录的顾客可以将自己满意的商品加入到购物车中,并且能够查看购物车的内容,在最终结算以前,允许顾客删除商品或更改购买数量,确认无误以后可以结算生成相应的定单。 4. 订单管理 当顾客确定购买以后,系统会自动为此定单生成其唯一的定单号,并且支持顾客查看此定单的详细信息,包括所有购买商品的列表以及分别对应的单价和总额,并且登录的顾客可以查看其当前定单的状态以及在本网上购物系统中所有历史定单信息。 5. 用户管理 本系统不支持匿名购买商品,顾客要购物的话必须注册相应的 ID,因此主要功能为支持用户注册,同时也支持用户修改 其基本信息,包括修改登录密码。 6. 用户控件 显示本网上购物系统的顶端图片以及一些友情链接和版权信息,使本系统更加美观、更加符合当前网站主流样式。 后台管理设计方案 图 2 网上购物系统后台功能模块图 系统管理员可以 通过管理中心向系统 加入新商品以及其 相关 信息,删除过期商品,更新现有商品信息。 当顾客确定购买以后,系统会自动为此定单生成其唯一的定单号,系统管理网上购物系统 后台管理 商品管理 订单管理 用户管理 第 9 页 共 25 页 员可以查看当前未处理的定单的信息,对订单进行处 理,并负责与顾客取得联系确认付款方式以及送货方式等。 网络并不是纯洁的,有些人恶意注册 ID 以浪费系统资源,系统管理员可以对此类不合法用户的 ID 进行删除等操作,确保系统运行正常、有序。 系统流程图 第 10 页 共 25 页 图 3 系统流程图 数据库设计方案 数据库表的定义 根据网上购物系统的功能要求以及功能模块的划分,数据需要存储的信息如下: :用户 ID,密码,地址, EMAIL 地址,联系电是否为注册用户 是否为管 理员 查看所有商品列表 查看商品详细信息 添加到购物车 商品管理 订单管理 用户管理 生成订单 添加、更新、 删除商品 处理订单状态 用户登录 管理员登录 查看、删除用户 否 否 是 是 开始 开始 结束 结束 第 11 页 共 25 页 话等 : 商品名称,商品类别,商品单价,商品详细信息,商品图片等 :购物车 ID,购买的商品,购买商品的数量,总价等 :下订单的用户 ID,下订单的时间,购买的商品,购买商品的单价,购买商品的数量,总价,订单状态等 数据库表的设计 分别建立以下的表以满足需要: ,用来记录购物人员的相关注册信息。 ( shopper) ,用来记录产品的相关信息。 ( product) ,用来记录用户添加产品到购物车的相关信息。 ( shoppingcart) ,用来记录 用户购物之后生成订单的相关信息。 ( orders) ,用来记录产品种类的相关信息。 ( category) ,用来记录省份和城市的相关信息。 ( place) 表 1 shopper 字段名 数据类型 长度 是否允许为空 字段描述 shopperID char 10 否 用户 ID(主键 ) psssword char 10 否 密码 familyname varchar 20 否 姓 givenname varchar 20 否 名 varchar 40 否 电子邮件地址 address varchar 50 否 通讯地址 country char 15 否 国家 province char 15 否 省份 city char 15 否 城市 postalcode char 10 否 邮政编码 phone char 15 否 联系电话 表 2 product 字段名 数据类型 长度 是否允许为空 字段描述 productID int 4 否 产品 ID(主键 ) productname nvarchar 50 是 产品名称 productdescription nvarchar 4000 是 产品描述 originalprice money 8 否 市场价 第 12 页 共 25 页 saleprice money 8 否 会员价 categoryID int 4 否 产品种类 ID productnumber int 4 是 产品数量 photo nvarchar 50 是 图片 publishyear varchar 4 是 发布年 publishmonth varchar 2 是 发布月 表 3 shoppingcart 字段名 数据类型 长 度 是否允许为空 字段描述 cartID int 4 否 购物车 ID(主键 ) productID int 4 否 产品 ID(主键 ) productquantity int 4 否 产品数量 shoppingdate datetime 8 否 购买时间 表 4 orders 字段名 数据类型 长度 是否允许为空 字段描述 orderNo smallint 2 否 订单号 (主键 ) orderdate datetime 8 是 订单时间 cartID nvarchar 10 否 购 物车 ID shopperID varchar 10 否 用户 ID shippingcharge money 8 是 运费 ordrprocess char 1 是 订单状态 totalcost money 8 是 总价 表 5 category 字段名 数据类型 长度 是否允许为空 字段描述 categoryID int 4 否 产品种类 ID (主键 ) categoryname nvarchar 50 否 产品名称 表 6 place 字段名 数据类型 长度 是否允 许为空 字段描述 city char 15 否 城市 (主键 ) province char 15 否 省份 4 具体设计实现 前台功能模块的具体实现 系统首页 此功能模块由 来实现 ,并提供了本系统绝大多数功能的入口, 第 13 页 共 25 页 例如:会员注册、登录,管理员登录,商品查询,最新商品,热销商品等。 会员登录主要是将用户输入的用户名和密码与数据库中 shopper 表中的已有的信息进行比对,如果完全一样,则是合法用户,可以成功登录,如果不一样,则登录失败。 查询功能是通过两个下拉列表来 实现的,为了避免用户自己输入出现错误导致无法查询到自己要看到的内容,该查询功能就没有使用用户输入的方式来进行关键字查询,而是通过先选择第一个下拉列表来确定 categoryID(产品种类 ID),然后通过这个 categoryID从数据库的 product表中读出所有 categoryID相同的产品型号显示在第二个下拉列表中,此时,用户就可以选择想要查看的具体产品的型号,再点击“查询”即可看到相应产品的详细信息。 图 4 网上购物系统首页 在此页面上,最新商品和热销商品的所有信息都是通过 DataList 这个功能强 大的的控件实现的,“最新商品”使用 DataList1,通过在管理员添加新产品到系统中时所添加的产品的发布年、月来排序,代码如下: select top 6 ,productID from product order by publishyear,publishmonth desc 热销商品使用 DataList2,通过计算 shoppingcart表中购买的数量从而来确定产品的销售量的多少来进行排序,代码 如下: 第 14 页 共 25 页 select originalprice,saleprice,photo,productID from product where productID in (select top 6 productID from shoppingcart group by productID order by sum(productquantity) desc) 商品管理 此功能模块由 , , 来实现。 当用户进入产 品中心以后,通过 DataList 这个控件,显示出相应产品类别的产品图片及一些相关信息,其中包含产品名称,产品类别以及相应的价格信息等,整个页面的左边部分,分类列出了各类产品,每一类产品都有自己唯一对应的 categoryID,同时, categoryID 在 product 表里都有相对应的产品名,当点击某个产品种类时,所有对应该种类 categoryID 的产品都会从数据库中提取出来并且显示在页面上,这样起到了导航的作用,一目了然,方便用户能够比较迅速找到自己想要的产品,如下图: 图 5 产品中心 所有产品的图片都是 管理员在添加新产品到系统中时,上传到 images这个目录下的图片的名字和产品的型号相同, 通过下面的代码来获得: ((Image)(photo)).ImageUrl = images\\ + [4].ToString()。 第 15 页 共 25 页 另外,通过点击“详细信息”就可查看该商品的具体资料,用户可以看到产品名称,产品价格,以及详细描述,是在 product表中通过相应的 productID(产品 ID)读出其相关信息的,通过下面的语句实现: select productname,productdescription,cast(saleprice as nvarchar)as price from product where productID=39。 + productID + 39。 , conn 购物车 此功能模块由 , 来实现。 当用户查看了相关商品的详细信息以后,如果愿意购买并且是在用户已经登录的情况下,可以在下拉列表中选择购买商品的数量并点击“添加到购物车”加入到购物车中,在这个过程中,系统 将用户选择的商品所对应的 productID 和购买的数量都写入到数据库的 shoppingcart 这个表中,并生成唯一的 cartID(购物车 ID),一个 cartID 对应用户登录一次所有购买的商品,也就是说 cartID 和productID 的对应关系既可以是一对一,也可以是一对多。 最后顾客结束购物时,点击“查看我的购物车”,则在可以看到相关购物信息,这就是将 shoppingcart表中生成的 cartID 所对应的 productID 和购买数量的信息读出并通过 GridView这个控件显示出来,如下图 : 图 6 查看购物车 用户可以在最终结算前放弃购买某样或多样已放在购物车中的商品,在此时点击“删除”, shoppingcart 表中的当前 cartID 所对应的 productID 删除,从而达到放弃购买的作用。 总计金额是通过计算 GridView 中第 3 列中的小计而得,最后通过一个 Lable 第 16 页 共 25 页 显示出来,具体实现的代码如下: double totalmoney = 0。 double tempprice。 for (int i = 0。 i。 i++) { tempprice= ([i].Cells[3].())。 totalmoney += tempprice。 } = ()。 如果是未 注册 用户 或未登录用户 ,则无法购买,系统会有相应提示, 并自动转到 主页。 订单管理 此功能模块由 , 来实现,分别实现生成和显示当前订单以及显示历史订单的功能,当用户购物完成以后,查看自己的购 物车后,并确定购买的时候,点击“最终结算”可以生成相应的订单,当系统生成订单时,会将 shoppingcart 表中的 cartID, shopperID,totalcost 插入到 orders 表中,代码如下: protected void Button1_Click(object sender, EventArgs e) { cartid = [cartID].().Trim()。 shopperid =[userName].()。 string sql = (insert into orders(cartID,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。