大家好,今天给大家介绍基于C#+asp.net+sqlserver基于C2C模式的网上购物系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:8221个字25页
包含内容:整套源码+完整毕业论文
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1 引言
1.1 课题背景
示例
网上购物一般分为B2B和C2C两种模式。B2C模式相当于现实生活中的“商场”或“专卖店”。商业机构利用先进的通信和计算机网络的三维图形技术,把现实的商业街搬到网上,并通过建立网站,在线发布信息和提供数据库检索向用户介绍和销售产品;消费者使用浏览器进行诸如浏览、购买、定单发送、支付操作;最后由商家将产品送到消费者手中。C2C比较类似于现实生活中的“小商品批发市场”,网站提供数据库检索和一定的安全保障,收取一定的费用,商品信息的上载和交易的协商都由作为独立个体的“买家”和“卖家”完成,一个网站中同时存在数目众多的个体经营者,网站只起一个现实中“市场管理者”的作用。
网上购物系统主要有三个特点:一是品种丰富,选择余地大。二是购买方便,用户不用亲自去商场挑选喜欢的商品,直接在网络中就可以挑选商品。三是售价便宜。在网络购物中,省去了许多经营成本,所以各个经营者都使用各种手段抢占市场,低价、打折是较为普遍的竞争手段之一。
1.2 国内研究发展现状
示例
1.3 本课题研究的意义
示例
1.4 本课题的研究内容
本系统采用B/S结构进行设计,使用SQL Server 2000构建数据库,并在.NET环境下使用C#语言开发的一个基于C2C模式的网络购物系统。综合运用以前所学的专业知识,并结合现在正在学的相关知识,完成该网上购物系统,本设计要求实现的功能包括以下内容:
(1)用户的注册、登陆、留言;
(2)注册登陆用户对个人信息的修改管理;
(3)注册登陆用户发布个人商品,并能实现个人商品信息的添加删除的管理;
(4)管理员对用户注册的审查,对发布商品的审查,避免个别用户发布一些敏感话题。
2 系统需求分析
2.1 系统功能需求分析
系统应该允许浏览者(没有注册的用户)申请在该系统注册帐号,帐号注册必须通过管理员审查通过才能使用;允许用户登陆,登陆后拥有所有普通用户在线功能;实现系统管理员对系统的管理。
根据对系统的分析,系统主要功能应该包括:留言,用户注册(包括注册登陆名、用户名、密码、联系电话等相关用户个人信息);用户登录;修改个人信息(可修改用户名等个人相关信息);登陆用户发布个人商品;用户修改发布商品的相关信息。管理员对注册用户的审核、对发布商品的审核、推荐已发布的商品。由此画出系统逻辑图。
图1 系统逻辑图
2.2 运行需求
1.用户界面
超越的界面,全新感觉,操作简便,一目了然,视图优美等特点,操作的便利,对用户友好。
2.软硬条件
适合各个版本的Windows操作系统,适应较高版本的IE浏览器,不要求特别的附加软硬件的支持。
3.故障处理
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。我们的目的是开发出正确的系统,而不是用无休止的出错处理代理掩盖错误。
4.系统的封闭性
用户的封闭性较好,可在本系统下实现各种用户功能。
2.3 预期设计目标
开发一个具有开放体系结构的、易维护的、具有良好操作界面的、C2C模式的网上购物系统。游客可以浏览网站主页和各商家商店页面,游客也可以注册成为会员,系统能够具有多商家开店发布推销商品,多用户浏览商品等基本功能。
2.4 系统可行性分析
2.4.1 技术可行性
本系统采用C#语言编写,目前很多网站的建设都是采用ASP.NET编写,其中C#是比较流行也很成熟的网络编程语言,很多成熟的网站都是采用C#语言编写,数据库使用的是在中小型网站建设中使用比较广泛的SQL Server,经过多年的发展和完善,Microsoft SQL Server 这中数据库语言已经非常完善,而且具有很好的兼容性和可操作性。所以使用目前现有的技术能够实现这个系统。
2.4.2 经济可行性
省略
2.4.3 操作可行性
省略
图2 系统结构图
3.2 数据库设计
3.2.1 E—R图
在对网上购物系统进行需求分析的基础上,建立系统的E-R关系模型,并由E-R图导出数据关系模型。
图3 系统E—R图
3.2.2 开发环境和语言
Microsoft
Visual Studio C#
SQL Server
3.2.3 相关语言介绍
C#是微软公司专门为.NET量身订制的新一代程序开发语言,它充分吸收了过去几十年中计算机科学发展的经验教训,体现了当前最新程序设计技术的功能和精华,从C#的身上可看到最突出的优点是:现代、简单、面向对象和类型安全。使用C#开发基于.NET的应用程序,具有良好的安全性和跨平台性。C#用途广泛,可以开发Windows、ASP.NET和Web服务,甚至是Windows底层的各种不同类型的应用程序。C#的程序可以通过XML交换数据信息。因为XML是纯文本的信息,这就为通过C#开发的应用程序的跨平台性能提供了强大的保障。C#的程序运行方式也是独特的,其应用程序完全在.NET平台的管理下运行,这就大大地增加了应用程序的稳定性和安全性。
SQL正式名称是Structured Query Language,意思为结构化查询语言。SQL语言的主要功能是同各种数据库建立联系,进行沟通,是关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Orade、Sybase、Microsoft SQL Server、 ACCESS等都采用了SQL语言标准,虽然很多数据库都对SQL语句进行了再开发个扩展,但是标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
3.2.4 核心数据库设计
用户信息表存放所有用户的登陆名,密码,姓名,地址,类型,电话,传真,电子邮箱,用户信息是否审核通过,用户是否具有自动审核商品权利等一切与用户相关的个人信息。
4 系统实现
4.1 用户注册
该模块实现用户注册功能,用户进入后按照提示添写相关个人信息,确认信息后提交系统,完成用户注册。用户注册后要经过管理员审核通过才能使用注册帐号。当用户提交注册信息后,系统首先判断用户提交的商家图片是否符合要求,如果符合要求则将图片保存到指定目录,然后将用户提交的密码进行MD5加密以后和其他信息一起提交到数据库中,完成注册并返回给用户注册成功的提示。如果用户输入的注册名已存在,则认为注册信息无效,在用户提交注册的时候直接返回注册界面。
图4 用户注册界面
核心代码:
try
{ //上传图片
string upload3="";
if (FileUpload1.HasFile == true)
{
string nam = FileUpload1.PostedFile.FileName; //得到上传的文件名
int i = nam.LastIndexOf("."); //取得文件名(包括路径)里最后一个"."的索引
string newext = nam.Substring(i).ToLower(); //取得文件扩展名
if (newext == ".gif" || newext == ".jpg" || newext == ".jpeg" || newext == ".bmp") //过滤图片的格式
{
string savePath1 = Server.MapPath("..\\upload\\"); //得到系统的相对路径
string savePathsmall = Server.MapPath("..\\smallupload\\");//生成缩略图
savePath1 += FileUpload1.PostedFile.ContentLength.ToString() + newext;//生成系统的文件名
savePathsmall += FileUpload1.PostedFile.ContentLength.ToString() + newext;
FileUpload1.SaveAs(savePathsmall); //保存文件
SuperCommon.common.MakeSLT(savePathsmall,savePath1);
upload3 = FileUpload1.PostedFile.ContentLength.ToString() + newext; //生成系统的文件名
}
else
{
Response.Write("");//判定用户上传图片是否合法
return;
}
}
string pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(TxtPassword.Text, "md5");//用md5加密密码
string strdate = DateTime.Now.ToShortDateString(); //得到系统时间
string sql = "insert into Super_Company(Super_Company_Name,Super_Company_Image,Super_Company_Address,Super_Company_User,Super_Company_Tel,Super_Company_Fax,Super_Company_Traffic,Super_Company_Email,Super_Company_Site,Super_Type,Super_Company_UserName,Super_Company_Password,Super_Company_Description,Super_Company_Tag,Super_Company_Date,Super_Company_Area)values('" + TxtCompanyName.Text + "','" + upload3 + "','" + TxtAddress.Text + "','" + TxtContract.Text + "','" + TxtTel.Text + "','" + TxtFax.Text + "','" + TxtTraffic.Text + "','" + TxtEmail.Text + "','" + TxtWebSite.Text + "','" + DropDownList1.SelectedValue + "','" + TxtName.Text + "','" + pwd
+"','"+SuperCommon.common.strFormat(TxtDescription.Text)+"','"+TxtTag.Text+"','"+strdate+"','"+DropDownList2.SelectedValue+"')"; //写入数据库的sql语句
common.ExecuteSql(sql);//执行数据库语句
Response.Write("");
}
catch{}//异常处理
图5 注册成功返回
4.2 用户登陆
用户需要填写正确的用户名和密码,登陆失败给出错误原因并返回登陆界面,登录成功进入登录成功页面。进入登陆界面后,用户可以对个人信息进行修改,查看相关留言评论,查看个人已发布商品,发布新商品。
首先在数据库中查询用户提交的帐号,如果不存在此帐号则返回错误信息,如果存在帐号,则继续将用户提供的密码进行MD5加密后与数据库中对应的密码进行比较,如果正确,则登陆成功,将页面导航到用户个人管理页面,否则登陆失败,返回登陆错误提示信息。
核心代码:
protected void BtnLogin_Click1(object sender, ImageClickEventArgs e)
{
string pwd = TxtPassword.Text;//得到密码字符传
pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd, "md5");//将用户提供的密码进行MD5加密
string sql = "select * from Super_Company where Super_Company_UserName='" + TxtUserName.Text + "' and Super_Company_Password='" + pwd + "' and Super_Company_Audit=1";//将用户提供的帐号和密码与数据库中对应的相比较
if (common.CheckSql(sql) == "1") //用户名是否存在
{
Session["SuperCompanyUserName"] = TxtUserName.Text;//把用户名保存在Session
//Response.Redirect("Productmanage.aspx");
Response.Redirect("manage.aspx"); //页面转向
}
Else //用户名和密码检查失败
{
LblSuccess.Text = "抱歉,密码错误或你还没有通过审核";
LblSuccess.ForeColor = System.Drawing.Color.FromName("red");
}
}
4.3 发布商品
用户发布商品时要先确认发布商品类型,再进入商品详细描述,商品名称,商品图片,打折情况等。
首先检查用户是否具相应权限,确认权限后取得用户提交的商品图片等信息,判断图片文件类型是否合法,然后保存到指定目录,完成后自动生成商品的一些相关信息,如发布时间、发布商品的用户等,然后商品的这些详细信息保存到数据库中,并返回发布成功提示信息,否则返回错误提示信息。
图7 用户发布商品界面
图8 用户发布商品截图
核心代码:
protected void BtnSave_Click(object sender, EventArgs e)
{
if (checkRequest() == false)
{
return;
}
try
{
string nam = FileUpload1.PostedFile.FileName;//得到上传的文件名
string upload3 = "";
if (FileUpload1.HasFile == true)
{
int i = nam.LastIndexOf(".");//取得文件名(包括路径)里最后一个"."的索引
string newext = nam.Substring(i).ToLower(); //取得文件扩展名
if (newext == ".gif" || newext == ".jpg" || newext == ".jpeg" || newext == ".bmp") //过滤图片文件的格式
{
string savePath1 = Server.MapPath("..\\upload\\"); //得到文件的系统相对路径
savePath1 += FileUpload1.PostedFile.ContentLength.ToString() + newext;
FileUpload1.SaveAs(savePath1); //保存文件
upload3 = FileUpload1.PostedFile.ContentLength.ToString() + newext; //返回文件的保存地址
}
else
{
Response.Write("");
return;
}
}
string image = upload3;//图片
string freetb =SuperCommon.common.strFormat(TextBox1.Text);//商品详细信息
string audit = common.CheckAudit(Session["SuperCompanyUserName"].ToString());//审核(先判断用户是否具有自动审核功能
string companyID =Session["SuperCompanyUserName"].ToString();//登陆名
string SuperProDate = DateTime.Now.ToShortDateString(); //得到系统时间
string sql = "insert into Super_Product(Super_Product_Name,Super_Product_OriPrice,Super_Product_DisPrice,Super_Product_Image,Super_Product_Description,Super_Product_DisBiginDate,Super_Product_DisEndDate,Super_Product_OtherBenefits,Super_Product_Type,Super_Product_Audit,Super_Company_UserName,Super_Product_Tag,Super_Product_BrandType,Super_Product_Date,Super_Product_Dis)values('" + TxtProName.Text + "'," + TxtProOriPrice.Text + "," + TxtProDisPrice.Text + ",'" + image + "','" + freetb + "','" + TxtProBeginDate.SelectedValue + "','" + TxtProEndDate.SelectedValue + "','" + TxtProOtherBenefits.Text + "','" + DropDownList1.SelectedValue + "','" + audit + "','" + companyID + "','" + TxtProTags.Text + "','" + TxtBand.Text + "','" + SuperProDate + "','" + TxtProDis.Text + "')"; //写入数据库语句
if (common.ExecuteSql(sql) == "1") //执行数据库语句
{
Response.Write("");
}
else
{
Response.Write("");
}
}
catch(Exception ex) //异常处理
{
Response.Write(ex+"alert('抱歉,添加信息错误,请检查信息是否正确。');");
}
}
4.4 留言
游客或用户在浏览商品时,可以发表对该商品的意见。如果有购买的打算,可以在留言里面告诉商家,以便商家和买家之间的联系。
图9 点评留言界面
核心代码:
protected void BtnSave_Click(object sender, EventArgs e)
{//点击留言按钮执行的函数
string username =Session["netusername"].ToString();//获取用户名
int userid = int.Parse(Session["netuserid"].ToString());//获取用户ID
string proId = Request["id"].ToString();//获取产品ID
string date = DateTime.Now.ToShortDateString();//获取当前日期时间
//设置sql字符串,并将留言信息插入数据库
string sql = "insert into Super_Comment(Super_Comment_UserName,Super_Comment_Content,Super_Product_ID,Super_Comment_Services,Super_Comment_Environment,Super_Comment_Price,Super_Comment_Date,Super_Comment_UserId)values('" + username + "','" + TextBox1.Text.Replace("'", "").ToString() + "','" + proId + "','" + DropDownList2.SelectedValue + "','" + DropDownList1.SelectedValue + "','" + DropDownList3.SelectedValue + "','" + date + "',"+userid+")";
if (common.ExecuteSql(sql)=="1")
{//如果添加留言成功,返回成功信息
Response.Write("");
TextBox1.Text = "";
Label9.Visible = true;
}
else
{//如果添加留言失败,返回错误信息
Response.Write("");
}
}
public string Init2()
{//根据传入的产品ID初始化界面,如果传入产品ID为空,则返回错误信息
if (Request["id"] != null && Request["id"].ToString() != "")
{
string sql = "select top 1 * from Super_Product where Super_Product_ID=" + int.Parse(Request["id"].ToString());//根据产品ID查询数据库相应产品
IDataReader dr = common.GetDataReader(sql);
string ret = "传入的参数不正确,请关闭此页";
if (dr.Read())
{
ret = "" + dr["Super_Product_Name"].ToString() + "/添加点评";//显示产品名称
}
dr.Close();
return ret;
}
else
{//传入产品ID为空时,返回错误信息
return "传入的参数不正确,请关闭此页";
}
}
4.5 管理员登陆
管理员登陆方式是管理员网页登陆,先进入页面登陆页面,输入帐号和密码,网址http://localhost:14698/SuperMarket/super_manage/login.aspx,登陆成功后进入管理员操作界面,进行用户注册审核,商品类型修改等操作。如果输入的帐号或密码错误,则返回错误提示。
将输入的帐号密码与预先定义好的帐号密码进行比较,比较成功则判断为合法管理员,登陆成功,为用户赋session值并转向管理页面,否则登陆失败,返回错误提示信息。
核心代码:
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "jiang" && TextBox2.Text == "mima") //字符串判断
{
Session["supermarket_admin"] = "admin"; //判断Session变量
Response.Redirect("manage.aspx"); //页面转向
}
else //登陆失败
{
Response.Write("");
}
}
5 系统测试
系统完成后,应该对系统进行的一系列的测试,通过测试去发现程序中的错误。首先对各个功能模块进行独立的测试,然后再对整个系统进行测试。
测试留言,用户注册,用户登录,修改个人信息,发布个人商品,修改商品信息,管理员审核等模块,根据测试结果知各个功能模块达到了设计要求。各模块在整个系统中能完成各自的功能,相互之间的连接也很顺利。对数据库的添加,修改,删除操作也能顺利完成。整个系统功能达到预期要求。
在测试中发现的程序问题,数据库连接问题等也得到了及时的解决,保证了后期系统稳定的运行。
结 论
此次毕业设计完成了系统主要功能:留言,用户注册,用户登录,修改个人信息,登陆用户发布个人商品,用户修改发布商品的相关信息,管理员对注册用户的审核,对发布商品的审核,推荐已发布的商品。
省略
参考文献
[1] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005。
[2] 吉根林,崔海源.ASP.NET程序设计教程[M].北京:电子工业出版社,2004。
[3] 张海藩.软件工程导论(第四版)[M].北京:清华大学出版社,2003。
[4] Karli Watson,Christian Nagel,黄立波(翻译).C#入门经典(第3版)[M].北京:清华大学出版社,2005。
[5] Karli Watson,Christian Nagel,黄立波(翻译).C#高级编程(第3版)[M].北京:清华大学出版社,2005。
[6]Linsenbardt.M,Stigler.S.SQL Serber2000管理指南[M].北京:清华大学出版社, 2002。
[7] 黄明,梁旭,李伯林.C#+SQL Server中小型信息系统开发实例精选[M].北京:机械工业出版社,2007。
[8] Bhasin.H.ASP.NET专业项目实例开发[M].北京:北京水利水电出版社,2002。
[9] 丁宝康,董健全.数据库实用教程[M].北京:清华大学出版社,2001。
[10] 孙维煜.C#案例开发[M].北京:中国水利水电出版社,2005。
致 谢
省略
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于C#+asp.net+sqlserver基于C2C模式的网上购物系统设计与实现(源码+文档)_BS架构_网上购物系统.zip |