




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录一、绪论1二、需求分析1三总体设计13.1 主要功能概述13.2 操作流程2四、数据库设计34.1 逻辑结构设计34.2 概念结构设计3五、详细设计45.1 算法描述45.2 功能模块设计4 5.2.1 提交订单模块设计4 5.2.2 我的订单模块设计8 5.2.3 登录模块设计10 5.2.4 注册模块设计12心得体会15致谢16参考文献16全套设计加扣 3012250582一、绪论近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。随着电子商务,尤其是网上购物的发展,商品流通基础设施和配套行业的重点将会将对中国商品流通领域和整个经济发展带来种种影响,确实值得我们认真研究。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。本次设计的网上商城系统运用Microsoft Visual Studio 2010和Microsoft SQL Server 2005实现了基本的用户注册、登录、商品浏览、购物车管理和订单管理等功能的网上商城系统。2、 需求分析现在我们的生活已经和网站密不可分了,如网上购物、搜索资料、发表言论、关注新闻、查看电影排期等,都需要在网上进行操作,所以网站开发是很有前景的一门技术。常见的网站,如淘宝、京东等都需要使用数据库,比如存储个人资料、各类商品信息、订单详情等。有了这些数据后,就可以在此基础上进行统计查询,数据分析等工作。所以开发数据库系统具有广泛的实用性。本次课程设计是以SQL Server为基础,利用Visual Studio 对网上购物经常用到的用户注册、登陆、商品浏览、购物车和订单等功能进行设计以及实现。3、 总体设计3.1 主要功能概述网上商城订单用户登陆用户注册购物车商品浏览 图3-1 “网上商城系统”功能模块图3.2 操作流程用户打开网上商城有五个选项:商城首页、购物车、我的订单、注册和登陆。选择商城首页:浏览商品信息,点开可以查看详细信息,选择加入购物车;选择购物车:查看购物车清单,点解“去结算”,跳转到购买界面。此页面需在登陆的状态下方可打开,如未登陆则会自动跳转到登陆界面。选择我的订单:可以查看全部已完成订单。此操作需在登陆状态下。选择注册:填入基本信息,点击注册,弹出窗口提示注册成功或失败。选择登陆:输入用户名、密码和验证码,点击登陆,弹出窗口提示成功或失败。登录成功之后选择注销,即可退出登陆。打开网站商品浏览网站首页选择商品加入购物车登陆注册查询我的订单结算购物车 图3-2 “网上商城系统”流程图四、数据库设计 4.1逻辑结构设计 用户表:Users (UserID,UserName,Sex,Pwd,EMail,Tel,UserImage) 供应商:Suppliers(SupplierID,SupplierName) 商品信息:Products(ProductID,SupplierID,ProductName,Color,ProductImage,Price, Description) 预订订单:Orders (OrderID,UserID,Tel,Address,OrderDate) 完成订单:OrderItems(OrderItemID,OrderID,ProductID,Amount,Price) 4.1概念结构设计商品名称颜色 图片密码性别价格供应商ID邮箱姓名描述商品ID商品浏览账号电话注册商品用户头像 n n n 预订ID用户ID账号供应商ID n n 电话添加提供地址名称日期购物车 n 数量供应商 价钱提交1商品ID订单ID订单n预订ID 图4-1 整体E-R图 五、详细设计 5.1 算法描述:1. 创建数据库: (1)打开SQL Server,新建数据库,数据库命名为eShop。 (2)在库中建表,在表中把相应的字段名称,字段类型,长度等填写完整。2.模块设计:(1)创建并设计“OrderInfo”(提交订单)模块;(2)创建并设计“MyOrder”(我的订单)模块; (3)创建并设计“Login”(登录)模块; (4)创建并设计“Regist”(注册)模块。 5.2 功能模块设计: 5.2.1提交订单模块设计: 1、描述:用户选择商品加入购物车后,在购物车里选择结算,跳转到提交订单界面。提交订单需要商品信息和收件人的信息,因此我在提交订单的设计界面主要添加了三个TeXBox控件和一个GridView控件,TextBox用来读取用户输入的收件人信息,GridView用来显示数据库Order表里的数据,即显示要购买的商品信息。图5-1 提交订单界面2、 代码:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Configuration;using System.Data;using System.Data.SqlClient;public partial class OrderInfo : System.Web.UI.Page DataTable dt; public void CalcSum() double sum = 0; for (int i = 0; i 0) txtTel.Text = ds.Tables0.Rows0Tel.ToString(); txtAddress.Text = ds.Tables0.Rows0Address.ToString(); txtConsignee.Text = ds.Tables0.Rows0Consignee.ToString(); if (SessionCart != null) dt = (DataTable)SessionCart; GridView1.DataSource = dt; GridView1.DataBind(); CalcSum(); else lblSum.Text = 购物车中没有商品; protected void lbOK_Click(object sender, EventArgs e) string OrderID = Guid.NewGuid().ToString(); SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStringseShopConnectionString.ConnectionString); SqlCommand cmd = new SqlCommand(INSERT Orders(OrderID,UserID,Tel,Address,Consignee) VALUES(OrderID,UserID,Tel,Address,Consignee), cn); cmd.Parameters.Add(OrderID, SqlDbType.NVarChar).Value = OrderID; cmd.Parameters.Add(UserID, SqlDbType.NVarChar).Value = SessionUserID.ToString(); cmd.Parameters.Add(Tel, SqlDbType.NVarChar).Value = txtTel.Text.Trim(); cmd.Parameters.Add(Address, SqlDbType.NVarChar).Value = txtAddress.Text.Trim(); cmd.Parameters.Add(Consignee, SqlDbType.NVarChar).Value = txtConsignee.Text.Trim(); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); cn.Open(); da.Fill(ds); cn.Close(); cmd = new SqlCommand(INSERT OrderItems(OrderID,ProductID,Amount,Price) VALUES(OrderID,ProductID,Amount,Price), cn); dt = (DataTable)SessionCart; for (int I = 0; I dt.Rows.Count; I+) cmd.Parameters.Clear(); cmd.Parameters.Add(OrderID, SqlDbType.NVarChar).Value = OrderID; cmd.Parameters.Add(ProductID, SqlDbType.NVarChar).Value = dt.RowsIProductID; cmd.Parameters.Add(Amount, SqlDbType.Decimal).Value = Convert.ToDecimal(dt.RowsIAmount); cmd.Parameters.Add(Price, SqlDbType.Decimal).Value = Convert.ToDecimal(dt.RowsIPrice); cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); SessionCart = null; Response.Redirect(OrderByID.aspx?OrderID= + OrderID); 5.2.2我的订单模块设计1、 描述:我的订单的主要功能设计是让用户来查询已完成订单的信息。我在设计界面添加了一个DataList控件,用来显示数据库OrderItems表中的信息,即已完成的订单。另外添加了两个TextBox控件,用来记录两个日期,点Button查询按钮,可以查询两个日期之间一段时间的订单。图5-2 我的订单界面2、 代码:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class MyOrders : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) string CurrentUrl = HttpContext.Current.Request.Url.PathAndQuery; if (SessionUserID = null) Response.Redirect(Login.aspx?url= + CurrentUrl); if (!IsPostBack) Date1.Text = DateTime.Today.AddDays(-100).ToString(yyyy-MM-dd); Date2.Text = DateTime.Today.ToString(yyyy-MM-dd); protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) string OrderID = DataList1.DataKeyse.Item.ItemIndex.ToString(); SqlDataSource dsOrderItems = (SqlDataSource)e.Item.FindControl(dsOrderItems); dsOrderItems.SelectParametersOrderID.DefaultValue = OrderID; 5.2.3 登录模块设计1、 描述:用户登录界面需要用户填入用户名、密码和验证码。验证码是随机产生由字母和数字随机组合的字符串,需在用户名、密码和验证码都正确的情况下,才能登录成功,否则登录失败。图5-3 登录界面2、 代码:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;using System.Configuration;public partial class Login : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) SessionUserID = null; if (!IsPostBack) HttpCookie cookie = Request.CookiesUserID; if (cookie != null & cookieUserID.ToString() != ) txtUserID.Text = cookieUserID.ToString(); protected void lbLogin_Click(object sender, EventArgs e) if (txtCode.Text.ToUpper() != SessionVNum.ToString() Response.Write(alert(验证码输入错误?);); else SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStringseShopConnectionString.ConnectionString); SqlCommand cmd = new SqlCommand(SELECT * FROM Users WHERE UserID=UserID AND Pwd=Pwd, cn); cmd.Parameters.Add(UserID, SqlDbType.NVarChar).Value = txtUserID.Text; cmd.Parameters.Add(Pwd, SqlDbType.NVarChar).Value = txtPwd.Text; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); cn.Open(); da.Fill(ds); cn.Close(); if (ds.Tables0.Rows.Count 0) HttpCookie cookie = Request.CookiesUserID; if (cookie = null) cookie = new HttpCookie(UserID); cookie.Values.Set(UserID, txtUserID.Text); if (cbMemory.Checked) cookie.Expires = System.DateTime.Now.AddDays(30); else cookie.Expires = System.DateTime.Now; Response.SetCookie(cookie); SessionUserID = txtUserID.Text; SessionUserName = ds.Tables0.Rows0UserName; if (Request.QueryStringurl != null) Response.Redirect(Request.QueryStringurl); else Response.Redirect(Products.aspx); else SessionUserID = null; Response.Write(alert(该用户还未注册或密码错误!) ); 5.2.4注册模块设计1、 描述:用户注册需要用户录入姓名、账号、密码、性别、邮箱、电话和头像等基本信息,点击注册按钮,会有弹窗通知注册成功或者失败。如果注册成功,信息存入数据库Users表里,其中邮箱、电话和头像设置为可以为空,即这三项不是必须填写的内容。图5-4 注册界面2、 代码:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.SqlClient;using System.Configuration;public partial class Regist : System.Web.UI.Page public string pic = ; protected void Page_Load(object sender, EventArgs e) protected void btnReg_Click(object sender, EventArgs e) if (this.IsValid) SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStringseShopConnectionString.ConnectionString); SqlCommand cmd = new SqlCommand(INSERT Users(UserID,UserName,Sex,Pwd,Email,Tel,UserImage) VALUES (UserID,UserName,Sex,Pwd,Email,Tel,UserImage), cn); cmd.Parameters.Add(UserID, SqlDbType.NVarChar).Value = txtUserID.Text; cmd.Parameters.Add(UserName, SqlDbType.NVarChar).Value = txtUserName.Text; cmd.Parameters.Add(Sex, SqlDbType.NVarChar).Value = rblSex.SelectedValue; cmd.Parameters.Add(Pwd, SqlDbType.NVarChar).Value = txtPwd.Text; cmd.Parameters.Add(Email, SqlDbType.NVarChar).Value = txtEMail.Text; cmd.Parameters.Add(Tel, SqlDbType.NVarChar).Value = txtTel.Text; if (fuUser.HasFile) if (fuUser.PostedFile.ContentLength 8192) lblUpFile.Text = 请?上?传?小?于?M的?文?件t; cmd.Parameters.Add(UserImage, SqlDbType.NVarChar).Value = ; else string newFileName = UserImage/ + txtUserID.Text + + DateTime.Now.ToString(yyyyMMddHHmmss) + System.IO.Path.GetFileName(fuUser.FileName); fuUser.PostedFile.SaveAs(Server.MapPath(newFileName); lblUpFile.Text = 文?件t上?传?成功|; cmd.Parameters.Add(UserImage, SqlDbType.NVarChar).Value = newFileName
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业综合体物业公司员工劳动纪律与职业素养协议
- 网络主播签约经纪公司服务协议模板
- 离婚协议书中财产分割与子女监护权具体规定
- 节能减排物业公司员工劳务合同及环保指标达成协议
- 玫瑰精油神经酸胶囊产品研发与知识产权保护合同
- 贵州省黔东南州2021-2022学年九年级上学期期末文化水平模拟测试道德与法治试卷
- 《公共关系原理与实务》 第四版 练习与答案 朱崇娴 - 第1-5章
- 网络强国思想课件
- 朗读者比赛课件
- 抗菌技术测试题及答案大全
- JC-T 2113-2012普通装饰用铝蜂窝复合板
- JB T 6527-2006组合冷库用隔热夹芯板
- 2022上海秋季高考语文卷详解(附古诗文翻译)5
- 定制手办目标市场调研
- 新版规范(2017)沥青混凝土路面设计(详细应用)
- 机器学习基础讲义
- 铁路交通事故调查处理规定-事故调查
- 慢性鼻窦炎鼻息肉护理查房课件
- set2020标准文件编写工具软件使用说明书
- 中小学教师参与学校管理研究论文
- 动叶可调式轴流风机液压调节系统课件
评论
0/150
提交评论