aspnet天天书屋设计说明_第1页
aspnet天天书屋设计说明_第2页
aspnet天天书屋设计说明_第3页
aspnet天天书屋设计说明_第4页
aspnet天天书屋设计说明_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、1 / 26题目:题目: 天天书屋天天书屋 2 / 26本人声明我声明, 本论文(设计)工作是由本人在指导教师的指导下独立完成的, 在完成论文(设计)时所利用的一切资料均已在参考文献中列出。3 / 26目录目录 摘要摘要 1 1第一章引言第一章引言 2 21.1 本系统研究的意义 21.2 设计天天书屋的可行性 2第二章系统分析第二章系统分析 3 32.1 需求分析 32.2 数据流程分析 32.3 开发环境 4第三章系统数据库结构第三章系统数据库结构 4 43.1 数据库分析设计53.2 数据库表结构53.2.1 商 品 表 53.2.2 商品类型别表53.2.3 商品子类别表53.2.4

2、新闻公告表63.2.5 用户表 63.2.6 订单表 6第四章系统功能模块第四章系统功能模块 7 74.1 系统各功能模块划分 74.2 系统功能结构图 7第五章系统功能实现第五章系统功能实现 8 851 数据访问层 952 前台功能 105.2.1 登录模块105.2.2 商品分类125.2.3 充值系统125.2.4 购物车 1353 后台管理 145.3.1 商品添加14165.3.2 用户管理17185.3.3 公告管理185.3.4 添加公告195.3.4 添加订单204 / 26第六章结论第六章结论 2222第七章参考文献第七章参考文献 2222第八章致第八章致 22221 / 2

3、6摘要首先,对于消费者来说: 第一,可以在家“逛商店” ,订货不受时间的限制; 第二,获得较大量的商品信息,可以买到当地没有的商品; 第三,网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫; 但要保存好自己各种支付账号和密码,防止他人获得;第四,从订货、买货到货物上门无需亲临现场,既省时又省力; 第五,由于网上商品省去租店面、召雇员与储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。 其次,对于商家来说,由于网上销售没有库存压力、经营成本低、经营规模不受场地限制等,在将来会有更多的企业选择网上销售,通过互联网对市场信息的与时反馈适时调整经营战略,以此提高企业的经济效益和

4、参与国际竞争的能力。 再次,对于整个市场经济来说,这种新型的购物模式可在更大的围、更广的层面上以更高的效率实现资源配置。 综上可以看出,网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。本购物实现了网上购物的基本功能。包括:新闻发布、商品搜索、商品浏览、商品订购等功能模块。系统使用 ASP.NET(C#语言)+SQL Server 2005 与其它辅助软件(PhotoShop,Flash,Dreamweaver)进行开发。关键词:ASP.NET C#语言 SQL Server 20052 / 26第一章 引 言1.

5、1 本系统研究的意义随着市场经济和计算机软、硬件技术的迅速发展,网络技术的推广普与,Internet 已成为人们生活、工作中不可或缺的一部分。网上购物也将成为市场主流,本购物系统为广大购物爱好者提供一个不用出门便可轻松购物的平台,即省时又方便。客户可查看商城中的所有商品信息,可很好的进行价格对比,挑选合适自己的商品,经网上订购、付款便可购得各类物美价廉的商品。网上购物平台的诞生给人们带来购物的便利,也给商家带来了前所未有的效益。购物同时也为商家提高了知名度,达到推销效果,也能把销售区城扩大,有一举多得的功效。网络销售已成为了商家提高经济效益的一种途径。本系统即能为客户提供便利也能为商家提高效益

6、,相信购物在商业界肯定占据重要地位。1.2 设计天天书屋的可行性网上购物已成为商业主流,购物系统给商家带来效益的同时也给客户带来便利。本系统主要实现普遍的购物功能(商品展示、商品挑选、商品订购等),系统页面设计充分地满足使用者的需求,达到一般购物系统的水平。3 / 26第二章 系统分析2.1 需求分析天天书屋主要为爱书者提供一个方便购书的平台,同时也能给带来经济效益。通过充分的调查研究,结合一般的购物系统功能,本系统的功能需求如下:商品管理: 客户可挑选所有商品并订购,管理员对商品进行添加、维护;管理员:管理员可以用户的注册信息进行修改,管理员有提升权限;新闻管理: 新闻显示,新闻发布,新闻维

7、护;数据处理需求:凡是与客户交互的信息都要经过检测分析,合法的数据才可存入数据库,不合法的数据拒绝操作。对重要数据可进行备份,防止重要数据丢失。2.2 数据流程分析天天天天书书屋屋 主要实现购物功能,本购物系统包括商品展示,商品分类,商品检索,商品购买,结账等功能。本用简洁明了的方式展示商品,有销售分类显示、性质分类显示功能,顾客挑选商品放入购物车,登陆后才能进入结账系统,核对订单填写配送信息后便可完成购物操作。4 / 26流程图打开网站商品展示选择商品放入购物车结账继续购物发订单2.3 开发环境计算机操作系统:Windows XP,开发工具:Microsoft Visual Studio 2

8、005开发语言:C#语言数据库管理系统: SQL Server 2005辅助软件:Flash、Dreamweaver、PhotoShop第三章 系统数据库结构5 / 263.1 数据库分析设计购物系统数据量庞大,数据处理复杂,数据表间要进行多个关联。本购物系统共设计 6 个数据表,表表间建立相应外键关系,以实现复杂的系统需求,完成商品罗列显示、商品订购等功能。3.2 数据库表结构为了实现购物系统物应有的功能,结合本系统对有关数据的存储的需要,现将本系统数据库设计成5 个数据库表:(1) 商品表存储商品信息以显示给浏览者浏览(2) 商品类型别表存储商品类别信息(3) 商品子类别表存储商品子类别信

9、息(4) 新闻公告表存储新闻信息(5) 用户表存储会员用户信息(6) 订单表存储会员订单信息3.2.1 商品表列名数据类型是否为空说明GoodsIdintNot null主键、自增变量GoodsNamevarchar(50)Not nullGoodsPricedecimal(18, 2)Not nullGoodsTotalintNot nullGoodsPicvarchar(50)Not nullGoodsShowtextNot nullGoodsTimedatetimeNot nullGoodsClassintNot nullGoodsSubclassintNot null3.2.2 商品类

10、型别表列名数据类型是否为空说明BookIdintNOT NULL主键、自增变量BookNameintNULL3.2.3 商品子类别表列名数据类型是否为空说明6 / 26ClassIDintNOT NULL主键、自增变量ClassNamevarchar(50)NULLClassBookIdintNULL3.2.4 新闻公告表列名数据类型是否为空说明IDintNOT NULL主键、自增变量newsNamevarchar(50)NULLnewsTexttextNULLnewsTimesmalldatetimeNULL3.2.5 用户表列名数据类型是否为空说明IDintNOT NULL主键、自增变量n

11、amevarchar(20)NOT NULLpasswordvarchar(20)NOT NULLnicknamevarchar(20)NOT NULLsexchar(10)NOT NULLageintNOT NULLAddressvarchar(50)NULLintNULLemailvarchar(50)NULLmyselftextNULLmoneydecimal(18, 2)NULL3.2.6 订单表列名数据类型是否为空说明IDintNOT NULL主键、自增变量Namevarchar(50)NULL订单人GoodsIdIntNULLGoodsNamevarchar(50)NULLGood

12、sPricedecimal(18, 2)NULLGoodsTotalIntNULL7 / 26第四章 系统功能模块4.1 系统各功能模块划分天天书屋系统天天书屋系统属综合性系统,数据量大,数据间的处理复杂。为了更好的实现购物系统所需的功能,将本系统划分为 4 个系统模块:商品管理系统: 客户可挑选所有商品并订购,管理员对商品进行添加、维护;用户管理系统: 管理员可对普通用户的账户信息进行修改,新闻管理系统: 新闻显示,新闻发布,新闻维护;订单管理系统: 生成订单显示,订单发送,订单维护;4.2 系统功能结构图8 / 26首页商品分类新书展示公告新书动态详细公告新书新书分类新书展示新书详情购物车

13、商品选购结账付款登陆系统账号登陆注册账号注册系统后台管理用户管理商品管理公告管理退出商品管理商品添加添加公告公告管理用户管理前台功能 充值系统注册账号 登录账号返回主页新书详情 账号充值生成订单订单管理添加订单订单管理第五章 系统功能实现根据软件开发的基本流程,在完成了系统需求、系统分析、系统设计后,就进入系统实现阶段了,本系统使用三层架构进行开发,以下是整个系统的功能实现,包括前台的页面展示和后台的代码剖析。9 / 2651 数据访问层publicclass DBprivate SqlConnection con;public DB() con = new SqlConnection();

14、con.ConnectionString = ConfigurationManager.AppSettingsconStr.ToString(); publicvoid open() if (con.State = ConnectionState.Closed) con.Open(); publicvoid close() if (con.State = ConnectionState.Open) con.Close(); public DataTable DT(string sqlStr) SqlDataAdapter sda = new SqlDataAdapter(sqlStr, con

15、); DataSet ds = new DataSet(); sda.Fill(ds);return ds.Tables0; public DataSet DS(string sqlStr) SqlDataAdapter sda = new SqlDataAdapter(sqlStr, con); DataSet ds = new DataSet(); sda.Fill(ds);return ds; publicbool ExeSql(string sqlStr) open();10 / 26 SqlCommand cmd = new SqlCommand(sqlStr, con);int i

16、 = cmd.ExecuteNonQuery(); close();if (i 0) returntrue; returnfalse;publicbool ExeCount(string sqlStr) open(); SqlCommand cmd = new SqlCommand(sqlStr, con);int i = Convert.ToInt32(cmd.ExecuteScalar(); close();if (i 0) returntrue; returnfalse; publicstring FirstStr(string sqlStr) open(); SqlCommand cm

17、d = new SqlCommand(sqlStr, con);string Str = Convert.ToString(cmd.ExecuteScalar(); close();return Str; public DataTable DT(string SqlStr, SqlParameter prm, CommandType type) SqlCommand cmd = new SqlCommand(SqlStr, con); cmd mandType = type; cmd.Parameters.AddRange(prm); SqlDataAdapter sda = new SqlD

18、ataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds);return ds.Tables0;52 前台功能5.2.1 登录模块系统会根据不同的用户登录进行不同的操作;11 / 26string code = TextBox1.Text;if (Tbuser.Text.Length != 0) if (Tbpwd.Text.Length != 0) if (Request.CookiesCheckCode.Value = code) string SqlStr = select Count(*) from 用户表 where name=

19、userName and password=passWord ;SqlParameter prm = newSqlParameter(userName, SqlDbType.VarChar), newSqlParameter(passWord, SqlDbType.VarChar) ; prm0.SqlValue = Tbuser.Text.Trim(); prm1.SqlValue = Tbpwd.Text.Trim();if (n.ExeCount(SqlStr, prm) string str = select nickname from 用户表 where name= + Tbuser

20、.Text.Trim() + ; SessionUserName = n.DT(str).Rows00.ToString(); Response.Redirect(login.aspx); 用户登陆进入页面:用户登陆后就可以查看、购买12 / 265.2.2 商品分类5.2.3 充值系统13 / 26if (TextBox1.Text.Length != 0) if (TextBox2.Text.Length != 0) if (TextBox3.Text.Length != 0) string sql = update 用户表 set money=money+ + TextBox3.Text

21、.Trim() + where nickname= + SessionNickname.ToString() + ;if (n.ExeSql(sql) = true) Label2.Text = 充值成功!你充值的金额为 + TextBox3.Text.Trim(); 5.2.4 购物车14 / 26privatevoid BindShoppingCart() if (Sessioncart != null) cart = (DataTable)Sessioncart; GridView1.DataSource = cart; GridView1.DataBind();decimal sum

22、= 0;for (int i = 0; i cart.Rows.Count; i+) sum += Convert.ToDecimal(cart.Rowsi4); (TextBox)GridView1.Rowsi.FindControl(ProNum).Attributesonkeyup = value=value.replace(/ d/g,); Label1 . Text = sum.ToString(); protectedvoid GridView1_RowDataBound(object sender, GridViewRowEventArgs e) protectedvoid Gr

23、idView1_RowDeleting(object sender, GridViewDeleteEventArgs e) cart = (DataTable)Sessioncart; cart.Rows .RemoveAt (e.RowIndex); Sessioncart = cart; BindShoppingCart(); 53 后台管理5.3.1 商品添加15 / 26实现代码:DB db = newDB();protectedvoid Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) db.DLBind(Drop

24、DownList1, BookName, BookId, 商品类型); init(); publicvoid init() string SqlStr = select * from 商品子类 where ClassBookId= + DropDownList1.SelectedValue.ToString() + ; DropDownList2.DataTextField = ClassName; DropDownList2.DataValueField = ClassBookId; DropDownList2.DataSource = db.DT(SqlStr); DropDownList

25、2.DataBind(); protectedvoid Button1_Click(object sender, EventArgs e) string GoodsName = GoodsnameBox.Text.Trim();string GoodsPrice = GoodsPriceBox.Text.Trim();string GoodsTotal = GoodsTotalBox.Text.Trim();string GoodsShow = GoodsShowBox.Text.Trim();string GoodsTime = DateTime.Now.ToString();string

26、GoodsClass = DropDownList1.Text.Trim();string GoodsSubclass = DropDownList2.Text.Trim();16 / 26string FileName = GoodsPic.PostedFile.FileName;/上传文件路径string subFileName = FileName.Substring(FileName.LastIndexOf(.) + 1);/后缀名string path = Server.MapPath(img);string ImgName = DateTime.Now.ToString(yyyyM

27、MddHHmmssffff) + . + subFileName;string FilePath = path + + ImgName;if (GoodsPic.HasFile) if (subFileName.ToUpper() = JPG | subFileName.ToUpper() = BMP | subFileName.ToUpper() = GIF) GoodsPic.PostedFile.SaveAs(FilePath); else Page.ClientScript.RegisterStartupScript(Page.GetType(), , alert(只能上传格式为(JP

28、G,BMP,GIF)的图片!););return; else Page.ClientScript.RegisterStartupScript(Page.GetType(), , alert(请选择图片!););return; string SqlStr = insert into 商品表(GoodsName,GoodsPrice,GoodsTotal,GoodsPic,GoodsShow,GoodsTime,GoodsClass,GoodsSubclass) values( + GoodsName + , + GoodsPrice + , + GoodsTotal + , + img/ + I

29、mgName + , + GoodsShow + , + GoodsTime + , + DropDownList1.SelectedValue.ToString() + , + DropDownList2.SelectedValue.ToString() + );if (db.ExeSql(SqlStr) Page.ClientScript.RegisterStartupScript(Page.GetType(), , alert(添加成功!););/clear(); else Page.ClientScript.RegisterStartupScript(Page.GetType(), ,

30、 alert(添加失败!););17 / 265.3.2 用户管理实现代码:privatevoid DataToGridView() string sql = select * from 用户表; GridView1.DataSource = n.DT(sql); GridView1.DataBind(); protectedvoid GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) string strSql = delete from 用户表 where ID = + GridView1.DataKeyse.Ro

31、wIndex.Value.ToString() + ;if (n.ExeSql(strSql) = true) DataToGridView(); protectedvoid GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) /更新string ID = this.GridView1.DataKeyse.RowIndex.Value.ToString();string Name = (TextBox)(this.GridView1.Rowse.RowIndex.Cells1.Controls0).Text;strin

32、g Password = (TextBox)(this.GridView1.Rowse.RowIndex.Cells2.Controls0).Text;string NickName = (TextBox)(this.GridView1.Rowse.RowIndex.Cells3.Controls0).Text;string Sex = (TextBox)(this.GridView1.Rowse.RowIndex.Cells4.Controls0).Text;string Age = (TextBox)(this.GridView1.Rowse.RowIndex.Cells5.Control

33、s0).Text;string Address = (TextBox)(this.GridView1.Rowse.RowIndex.Cells6.Controls0).Text;string = (TextBox)(this.GridView1.Rowse.RowIndex.Cells7.Controls0).Text;string Email = (TextBox)(this.GridView1.Rowse.RowIndex.Cells8.Controls0).Text;string Myself = (TextBox)(this.GridView1.Rowse.RowIndex.Cells

34、9.Controls0).Text;string Money = (TextBox)(this.GridView1.Rowse.RowIndex.Cells10.Controls0).Text;string sql = update 用户表 set name= + Name + , password= + Password + , nickname= + NickName + ,sex= + Sex + ,age= + Age + ,Address= + Address + , = + + , email= 18 / 26+ Email + , myself= + Myself + ,mone

35、y= + Money + where ID = + ID + ;if (n.ExeSql(sql) = true) this.GridView1.EditIndex = -1; DataToGridView(); 5.3.3 公告管理实现代码:privatevoid DataToGridView() string sql = select * from 新闻公告; GridView1.DataSource = n.DT(sql); GridView1.DataBind(); protectedvoid GridView1_RowDeleting(object sender, GridViewD

36、eleteEventArgs e) string strSql = delete from 新闻公告 where ID = + GridView1.DataKeyse.RowIndex.Value.ToString() + ;if (n.ExeSql(strSql) = true) DataToGridView(); protectedvoid GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) string ID = this.GridView1.DataKeyse.RowIndex.Value.ToString()

37、;string newsName = (TextBox)(this.GridView1.Rowse.RowIndex.Cells1.Controls0).Text;string newsText = (TextBox)(this.GridView1.Rowse.RowIndex.FindControl(txtText).Text ;string newsTime = (TextBox)(this.GridView1.Rowse.RowIndex.Cells3.Controls0).Text;19 / 26string sql = update 新闻公告 set newsName= + news

38、Name + , newsText= + newsText + , newsTime= + newsTime + where ID = + ID + ;if (n.ExeSql(sql) = true) this.GridView1.EditIndex = -1; DataToGridView(); 5.3.4 添加公告实现代码:publicbool add() string newsName = TextBox1.Text;string newsText = TextBox2.Text;string newsTime = DateTime.Now.ToString();string sql

39、= insert into 新闻公告(newsName,newsText,newsTime)values( + newsName + , + newsText + , + newsTime + );returnnewDB().ExeSql(sql); protectedvoid Button1_Click(object sender, EventArgs e) if (check() = true) add(); Label4.Text = 添加成功!; 20 / 265.3.4 添加订单实现代码DB n = newDB();protectedvoid Page_Load(object sen

40、der, EventArgs e) if (!Page.IsPostBack) n.DLBind(DropDownList1, BookName, BookId, 商品类型); init(); init1(); init2(); publicvoid init() string SqlStr = select * from 商品子类 where ClassBookId= + DropDownList1.SelectedValue.ToString() + ; DropDownList2.DataTextField = ClassName; DropDownList2.DataValueField = ClassID; DropDownList2.DataSource = n.DT(SqlStr); DropDownList2.DataBind(); publicvoid init1() DropDownList3.DataSource = null;string

温馨提示

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

评论

0/150

提交评论