资源描述
ASP.NET 编程技术课程设计报告系(院): 专 业: 计算机科学与技术 班 级: 学生姓名: 学号: 题目: 基于ASP.NET网上书城 指引教师: 年学期: 年 第 1 学期年 1 月 7 日目 录目录21 需求分析11.1 学生需求分析11.2 管理员需求分析12 数据库、数据表设计12.1 创立数据库22.2 数据库集成操作类BaseClass.cs代码33 数据库、数据表设计63.1 系统框架63.2 母版页73.3 书城前台首页103.4 后台管理页面183.5 顾客注册界面244 使用到的技术274.1 后台274.2 前台275 测试276 总 结286.1 整体页面布局框架286.2 母版页内容286.3 项目中遇到的问题281 需求分析1.1 学生需求分析1、新客户注册:一般顾客必须先注册,才干进行图书的查询、浏览、定购、信息反馈等操作。顾客需要注册,并且要得到系统管理的审批和确认,重要功能是对顾客个人基本信息的管理。2、书籍分类搜索:顾客可根据对书籍的分类浏览和输入核心字进行本站涉及书籍的查找浏览。3、新书籍上架:把本站近来入库的书籍显示出来以便客户懂得本站书籍的更新。4、实现购物车功能模块:实时显示顾客目前所购书目,可以增长或删除。5、前台页面管理:注册会员对自己资料的修改,账户的管理1.2 管理员需求分析1、管理员注册:网站管理人员注册,实现对系统后台的管理,对系统所有信息的控制。还需要对系统进行维护,同步还对图书信息进行管理。2、订单添加/删除/修改管理功能:对于顾客提交的订单进行审核,并实现对订单的添加/删除/修改管理。3、书籍信息管理:这重要分为出版社管理,类别设立和分类管理。其中,出版社管理可以增长或修改删除有关信息,请保证此处信息的真实性;类别设立可对书目类别进行相应的操作(增长,删除,修改);分类管理可以对有关图书进行分类操作(注:此操作可以在图书入库的时候进行选择)2 数据库、数据表设计由于估计网上书城的查询操作会比修改操作多,故在设计数据库是大部分表采用了3NF,这样在查询时会比较以便。我初期设计了6个表,以满足系统的基本需求,在后期的系统实现过程中,根据需要添加或修改相应表。6个表分别是admin,books,order_num,orders,stock,users。2.1 创立数据库图1 数据库表图2 admin表图3 books 图书信息表图3 orders订单表图4 stock 库存表图5 users顾客信息表2.2 数据库集成操作类BaseClass.cs代码对数据库的增删改查操作所有集成在这个类中,因此避免了在每个页面的后台代码中每次都要连接数据库,打开数据库,关闭数据库。C#:using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace dbo.sql public class BaseClass:System.Web.UI.Page String strConn; public BaseClass() strConn = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; /ReadTable措施:从数据库中读取数据,并返回一种DataTable对象 public DataTable ReadTable(String strSql) DataTable dt = new DataTable(); SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAdapter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(dt); con.Close(); return dt; /ReadDataSet措施:从数据库中读取数据,并返回一种DataSet对象 public DataSet ReadDataSet(String strSql) DataSet ds = new DataSet(); SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAdapter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(ds); con.Close(); return ds; /GetDataSet措施:和ReadDataSet几乎完全相似,只是多了一种tableName参数 public DataSet GetDataSet(String strSql, String tableName) DataSet ds = new DataSet(); SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAdapter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(ds, tableName); con.Close(); return ds; /readrow措施:执行SQL查询,并返回一种Reader对象 public SqlDataReader readrow(String sql) SqlConnection con = new SqlConnection(strConn); con.Open(); SqlCommand com = new SqlCommand(sql, con); SqlDataReader reader = com.ExecuteReader(); if (reader.Read() com.Dispose(); return reader; else com.Dispose(); return null; /Readstr措施:返回查询成果第一行某一种字段的值 public string Readstr(String strSql, int flag) DataSet ds = new DataSet(); String str; SqlConnection con = new SqlConnection(strConn); con.Open(); SqlDataAdapter cmd = new SqlDataAdapter(strSql, con); cmd.Fill(ds); str = ds.Tables0.Rows0.ItemArrayflag.ToString(); con.Close(); return str; /execsql措施:用来执行SQL更新语句 public Boolean execsql(String strSql) SqlConnection con = new SqlConnection(strConn); SqlCommand com = new SqlCommand(strSql, con); con.Open(); int count = com.ExecuteNonQuery(); if (count 0) con.Close(); return true; else con.Close(); return false; 3 数据库、数据表设计母版页顾客管理员登录浏览图书查找图书购买图书查看购物车查看个人资料登录会员管理书籍管理添加书籍订单管理管理员3.1 系统框架图3-1 系统框架3.2 母版页3.2.1 重要代码HTML: !- - 欢迎来到小木屋网上书城 主 页 图书浏览 排行榜 站内找书 顾客注册 管理员 目前是: 有关我们 - 广告服务 - 版权声明 - 联系我们 - 友谊链接 小木屋网上书城©12月 C#:using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;namespace 网上书城 public partial class masterpage : System.Web.UI.MasterPage protected void Page_Load(object sender, EventArgs e) Label1.Text = DateTime.Now.ToString(yyy年MM月dd日 tt hh:mm:ss); protected void Timer1_Tick(object sender, EventArgs e) Label1.Text = DateTime.Now.ToString(yyy年MM月dd日 tt hh:mm:ss); 3.2.2 部分功能设立一种header盒子,用来显示书店的logo;一种menu盒子,用来显示书店的导航条;一种main盒子,用来显示主体部分;一种Footer盒子,用来显示书城的版权信息。3.2.3 截图图3-2母版页3.3 书城前台首页3.3.1 重要代码HTML: function scroll(obj) var tmp = (obj.scrollLeft)+; /当滚动条达到右边顶端时 if (obj.scrollLeft=tmp) obj.innerHTML += obj.innerHTML; /当滚动条滚动了初始内容的宽度时滚动条回到最左端 if (obj.scrollLeft=obj.firstChild.offsetWidth) obj.scrollLeft=0; var _timer = setInterval(scroll(document.getElementById(scrollobj), 20); function _stop() if (_timer != null) clearInterval(_timer); function _start() _timer = setInterval(scroll(document.getElementById(scrollobj), 20); 顾客登录 顾客名: 密 码: 忘掉密码? * 查看个人资料 * 去我的购物车 * 更改密码 注销 writeflashhtml(_swf=./swf/xixi.swf, _width=550, _height=215 ,_wmode=transparent); 新书推荐 More a href=book.aspx?book_id=img alt= title= src=./image/books/ / C#:using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Xml.Linq;using dbo.sql;namespace 网上书城 public partial class Default : System.Web.UI.Page BaseClass baseclass = new BaseClass(); protected void Page_Load(object sender, EventArgs e) (Master.FindControl(ScriptManager1) as ScriptManager).RegisterAsyncPostBackControl(LinkButton1); this.Title = 小木屋网上书城; if (Sessionusername != null) welcome.Text = 欢迎您: + Sessionusername.ToString() + ; userlogin.Visible = false; login_success.Visible = true; if (!Page.IsPostBack) get_picture(); protected void login_button_Click(object sender, ImageClickEventArgs e) string pass = FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text, MD5); string strsql = select * from users where username = + username.Text + and password = + pass +; DataSet ds = new DataSet(); ds = baseclass.GetDataSet(strsql, username); try if (ds.Tablesusername.Rows.Count = 0) Label2.Text = 顾客名不存在或密码错误,请确认后登录!; Sessionusername = null; else welcome.Text = 欢迎您: + ds.Tablesusername.Rows0username.ToString() + ; Sessionusername = ds.Tablesusername.Rows0username.ToString(); userlogin.Visible = false; login_success.Visible = true; catch (Exception ex) Label2.Text = ex.Message; protected void regist_button_Click(object sender, ImageClickEventArgs e) Response.Redirect(user_regist.aspx); protected void LinkButton1_Click(object sender, EventArgs e) Sessionusername = null; UpdatePanel1.Update(); userlogin.Visible = true; login_success.Visible = false; protected void forgetpass_Click(object sender, EventArgs e) Response.Redirect(forgetpass.aspx?username= + username.Text); private void get_picture() string strsql = select top 10 * from books order by book_id desc; DataTable dt = baseclass.ReadTable(strsql); PagedDataSource objpd = new PagedDataSource(); objpd.DataSource = dt.DefaultView; objpd.AllowPaging = false; Repeater1.DataSource = objpd; Repeater1.DataBind(); 3.3.2 部分功能首页有登录模块,有新书推荐模块,有书城最新图书图片动态展示模块。3.3.3 截图图3-3顾客登录图3-4 新书推荐图3-5 图书浏览3.4 后台管理页面3.4.1管理员登录页面代码HTML:% Page Language=C# MasterPageFile=/masterpage.Master AutoEventWireup=true CodeBehind=admin.aspx.cs Inh
展开阅读全文