课程设计报告网上书店网站Word下载.docx

上传人:b****6 文档编号:19821881 上传时间:2023-01-10 格式:DOCX 页数:28 大小:389.60KB
下载 相关 举报
课程设计报告网上书店网站Word下载.docx_第1页
第1页 / 共28页
课程设计报告网上书店网站Word下载.docx_第2页
第2页 / 共28页
课程设计报告网上书店网站Word下载.docx_第3页
第3页 / 共28页
课程设计报告网上书店网站Word下载.docx_第4页
第4页 / 共28页
课程设计报告网上书店网站Word下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

课程设计报告网上书店网站Word下载.docx

《课程设计报告网上书店网站Word下载.docx》由会员分享,可在线阅读,更多相关《课程设计报告网上书店网站Word下载.docx(28页珍藏版)》请在冰豆网上搜索。

课程设计报告网上书店网站Word下载.docx

辅考网是对考试有关的书籍、考试真题、模拟考试的资料零售,本网站可实现在线查看、购买、支付等功能,极大地满足消费者的需求,网站总体模块分为管理员和用户两个模块,而用户又分为会员和顾客两个子模块。

管理员的功能模块图如1-1所示,用户的功能模块图如1-2所示。

图1-1

图1-2

2.3数据库需求分析

根据网站设计目标,网站需要具有商品的种类、商品的样式等商品的管理、用户管理、辅考资讯管理、留言管理、购物车管理等功能。

(1)商品管理功能。

商品管理功能包括商品种类的增删查改、商品样式的增删查改以及商品信息的增删查改。

(2)用户管理功能。

用户管理包括对管理员、会员的管理,包括增删查改等。

(3)辅考资讯管理功能。

主要是对考试动态、新闻的管理,包括首页的动态显示、后台的增删改。

(4)留言管理功能。

留言管理功能包括一般用户(顾客)的留言管理和会员的留言管理,其中克对蓝颜进行回复的功能。

(5)购物车管理功能。

购物车是对会员的购买的商品的具有保存和计算功能的工具。

2.4环境需求分析

网站的开发环境:

WindowsXP(SP2)、Microsoft.NET2008集成开发环境、Sql2005数据库、ASP.NET3.5中的C#语言。

3系统规划

3.1网站的总体规划

辅考网系统是一个前台赴考资料展示及销售、后台管理两部分组成。

1、前台商品展示及销售:

该部分主要包括推荐商品、最新商品、热门商品、试卷分类、购物车、会员登录、注册、辅考资料查询、留言板等。

2、后台管理:

该部分主要对商城内的一些基础数据进行有效管理,包括商品类型管理、商品样式、会员管理、订单管理、留言管理、辅考资讯管理等。

3.2网站的功能结构图(1-3图)

图1-3

4系统设计

4.1数据库命名

(1)数据库的命名采用了有意义的字段名,遵守3NF标准和3NF规范,即表的每一个值都只能被表示一次;

表的每一行都应该被有唯一的标识(即主键);

表内不应该存储依赖于其他键的非键信息。

保持字段名和类型的一致性等。

(2)数据库命名规则

数据库名称=数据库内容标识。

(3)表的定义

命名应尽量反应数据的存储内容,表名称=表名前缀—表内容标识(首字大写)。

基于以上的数据库命名要求,辅考网包含了News、tb_Admin、tb_BookInfo、tb_Class、tb_Detail、tb_Image、tb_Leaveword、tb_meber、tb_OrderInfo、tb_Reply十张表。

4.2程序代码的命名规范

(1)辅考网的程序代码采用了一般代码的命名方式,避免用公司名称或其它品牌的名称作为命名名称的前缀,其中的ADO.NET的命名表示如表1-1所示。

数据类型

数据类型简写

标准命名举例

Connection

con

conNorthwind

Command

cmd

cmdReturnProducts

Parameter

parm

parmProductID

DataAdapter

dad

dadProducts

DataReader

dtr

dtrProducts

DataSet

dst

dstNorthWind

DataTable

dtbl

dtblProduct

DataRow

drow

drowRow98

表1-1

(2)WinFormControl、WebControl命名规范(部分)如表1-2所示:

Label

lbl

lblMessage

Button

btn

btnSave

TextBox

txt

txtName

ListBox

lst

DropDownList

drop

dropCountries

表1-2

(3).NET中的命名规则(部分)

类和类成分的命名  

类的命名原则是用名词或名词短语命名类,使用Pascal大写。

减少类名中缩写的使用量。

不要使用任何类前缀(比如C),不要使用带下划线的字符。

  例如:

publicclassFileStream{}、publicclassDB{}、publicclassString{}

变量的命名

名称中各单词首字母均为小写。

例如:

findLastRecord、redrawMyForm

  在内部范围中避免使用与外部范围中的名称相同的名称。

若访问错误变量,则会产生错误结果。

若变量与同一名称的关键字冲突,则必须在关键字前加适当的类型库以作标识。

例如:

若有一个名为date的变量,只能通过调用System.Date来使用内部Date函数。

函数和方法的命名。

函数和方法的命名应该以动词开始,使用Pascal大写。

不要使用带下划线的字符。

InitNameArray、CloseDialog

 4.3数据库设计

4.3.1数据表的表结构

(各模块对应的表附在模块设计部分)

4.3.2存储过程的创建

存储过程是为了实现某个特定任务,有一组编译好的SQL语句组成,将其放在数据库上,由用户通过指定存储过程的名字来执行的一种数据库对象,在存储过程中有系统存储过程、扩展存储过程、用户自定义存储过程。

辅考网的存储过程有64个,大多数都是系统存储过程和用户自定义存储过程,语句的一半形式为:

createproceduresp_name()

  begin

  .........

end

调用存储过程。

基本语法:

callsp_name()。

注意:

存储过程名称后面必须加括号,哪怕该存储过程没有参数传递。

在网站的存储过程中,对每个数据库的增删查改的功能都运用得到,如proc_AddUser中的语句

ALTERproc[dbo].[proc_AddUser]

@UserNamevarchar(50),

@Passwordvarchar(50),

@RealNamevarchar(50),

@Sexbit,

@Phonecodechar(20),

@Emailvarchar(50),

@Addressvarchar(200),

@PostCodechar(10)

as

ifExists(select*fromtb_MemberwhereUserName=@UserName)

return-100

else

begin

Inserttb_Member(tb_Member(UserName,Password,RealName,Sex,Phonecode,Email,Address,PostCode)

values(@UserName,@Password,@RealName,@Sex,@Phonecode,@Email,@Address,@PostCode)

return100

end

是对数据库中的表tb_Member中的数据类型定义为@UserNamevarchar(50),@Passwordvarchar(50),@RealNamevarchar(50),@Sexbit,@Phonecodechar(20),@Emailvarchar(50),@Addressvarchar(200),@PostCodechar(10)然后再将表中的UserName、Password、RealName、Sex、Phonecode、Email、Address、PostCode数据进行数据的更新,这是比较简单的存储过程,而在网站的存储过程中用到了类型于这样的存储过程,包括了Proc_DeleteAreaInfo、proc_DeplayGI、proc_DeplayGI等存储过程。

在存储过程中,我们运用到了exists方法,Exists方法描述如果在Dictionary对象中指定的关键字存在,返回True,若不存在,返回False。

语法object.Exists(key)Exists方法语法有如下几部分:

部分描述Object必需的。

始终是一个Dictionary对象的名字。

Key必需的。

在Dictionary对象中搜索的Key值。

EXISTS在SQL中的作用是检验查询是否返回数据。

LTERproc[dbo].[proc_UserLogin]

@Passwordvarchar(50)

ifexists(select*fromtb_MemberwhereUserName=@UserNameandPassword=@Password)

select*fromtb_Member

whereUserName=@UserNameandPassword=@Password

此外,存储过程中还运用到其他的比如Delece、Updata、Insert的语句,便于编写代码。

4.4公共类编写

辅考网运用到七个公共类,分别是BankPay.cs、CommonClass.cs、DBClass.cs、GoodsClass.cs、OrderClass.cs、OrderProperty.cs、UserClass.cs,其中DBClass.cs是对数据库连接的类的书写,其代码如下:

publicSqlConnectionGetConnection()

{

stringmyStr=ConfigurationManager.AppSettings["

ConnectionString"

].ToString();

SqlConnectionmyConn=newSqlConnection(myStr);

returnmyConn;

}

///<

summary>

///执行SQL语句,并返回受影响的行数

/summary>

paramname="

myCmd"

>

执行SQL语句命令的SqlCommand对象<

/param>

publicvoidExecNonQuery(SqlCommandmyCmd)

try

if(myCmd.Connection.State!

=ConnectionState.Open)

myCmd.Connection.Open();

//打开与数据库的连接

//使用SqlCommand对象的ExecuteNonQuery方法执行SQL语句,并返回受影响的行数

myCmd.ExecuteNonQuery();

catch(Exceptionex)

thrownewException(ex.Message,ex);

finally

if(myCmd.Connection.State==ConnectionState.Open)

myCmd.Connection.Close();

//关闭与数据库的连接

}

4.5系统模块设计

在整个网站的开发设计中,我主要负责会员登录、后台登录、购物车及对应数据设计。

4.5.1会员注册、登录

注册、登录界面

图1-4图1-5

图1-7

相关代码

注册:

usingSystem;

usingSystem.Data;

usingSystem.Configuration;

usingSystem.Collections;

usingSystem.Web;

usingSystem.Web.Security;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Web.UI.WebControls.WebParts;

usingSystem.Web.UI.HtmlControls;

usingSystem.Data.SqlClient;

publicpartialclassRegister:

System.Web.UI.Page

{

CommonClassccObj=newCommonClass();

UserClassucObj=newUserClass();

protectedvoidPage_Load(objectsender,EventArgse)

protectedvoidbtnSave_Click(objectsender,EventArgse)

//判断是否输入必要的信息

if(this.txtPostCode.Text.Trim()=="

"

&

&

this.txtPhone.Text.Trim()=="

this.txtEmail.Text.Trim()=="

Response.Write(ccObj.MessageBoxPage("

请输入必要的信息!

));

else

//将用户输入的信息插入到用户表tb_Member中

intIntReturnValue=ucObj.AddUser(txtName.Text.Trim(),txtPassword.Text.Trim(),txtTrueName.Text.Trim(),transfer(this.ddlSex.SelectedItem.Text),txtPhone.Text.Trim(),txtEmail.Text.Trim(),txtAddress.Text.Trim(),txtPostCode.Text.Trim());

if(IntReturnValue==100)

Response.Write(ccObj.MessageBox("

恭喜您,注册成功!

"

Default.aspx"

注册失败,该名字已存在!

///将性别转化为Bool值

strValue"

需要转化的性别值<

returns>

返回转化后的性别值<

/returns>

protectedbooltransfer(stringstrValue)

if(strValue=="

男"

returntrue;

returnfalse;

protectedvoidbtnReset_Click(objectsender,EventArgse)

this.txtName.Text="

;

//用户名

this.txtPassword.Text="

//用户密码

this.txtTrueName.Text="

//用户真实姓名

this.txtPhone.Text="

//用户电话号码

this.txtPostCode.Text="

//邮政编码

this.txtEmail.Text="

//Email

this.txtAddress.Text="

//详细地址

}

登录:

publicpartialclassLoadingControl:

System.Web.UI.UserControl

//声明随机类对象

Randomrandom=newRandom();

if(!

IsPostBack)

lblCheckCode.Text=random.Next(1000,9999).ToString();

//产生随机验证码

protectedvoidbtnLoad_Click(objectsender,ImageClickEventArgse)

//清空Session对象

Session["

UserID"

]=null;

Username"

if(this.lblCheckCode.Text.Trim()=="

||this.txtCheckCode.Text.Trim()=="

登录名和密码不能为空!

if(this.txtCheckCode.Text.Trim()==this.lblCheckCode.Text.Trim())

//调用UserClass类的UserLogin方法判断用户是否为合法用户

DataTabledsTable=ucObj.UserLogin(this.txtName.Text.Trim(),this.txtPassword.Text.Trim());

if(dsTable!

=null)//判断用户是否存在

]=Convert.ToInt32(dsTable.Rows[0][0].ToString());

//保存用户ID

]=dsTable.Rows[0][1].ToString();

//保存用户登录名

//Response.Redirect(Request.CurrentExecutionFilePath);

//跳转到当前请求的虚拟路径

Response.Redirect("

);

您的登录有误,请核对后再重新登录!

请正确输入验证码!

protectedvoidButton1_Click(objectsender,EventArgse)

Register.aspx"

4.5.2后台登录

登录界面

图1-8

图1-9

publicpartialclassManage_Login:

//创建公共类CommonClass一个新实例对象

DBClassdbObj=newDBClass();

if

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1