• C#毕业设计——基于C#+asp.net+sqlserver的网络商店设计与实现(毕业论文+程序源码)——网络商店


    基于C#+asp.net+sqlserver的网络商店设计与实现(毕业论文+程序源码)

    大家好,今天给大家介绍基于C#+asp.net+sqlserver的网络商店设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

    文章目录:

    1、项目简介

    1. 本文详细论述了采用ASP.NET 和 SQL Server 等技术实现的一个多商家网络商店的过程。论文首先阐述了本设计题目的选题意义、背景,和网站的开发平台;其次根据网站需求对系统的数据库和功能模块做了详细设计,并在此基础上实现了用户管理模块、权限管理模块、购物订单模块,商家管理模块、商品管理模块、留言板和公告管理模块等功能。最后通过对网站进行的全面测试展现了网站界面简单、美观,网站功能丰富、操作方便等特点,完全符合多商家网络商店的需求,能够为用户网上购物提供一个很好的操作平台。

    2、资源详情

    项目难度:中等难度
    适用场景:相关题目的毕业设计
    配套论文字数:8317个字30页
    包含内容:整套源码+完整毕业论文
    资源文件目录简图如下:

    请添加图片描述


    3、关键词:

    电子商务;多商家;网络商店;网上购物;SQL Server ;C#

    4、毕设简介

    提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

    1 引言
    省略

    2 网站背景及意义
    2.1 电子商务概要
    2.1.1 电子商务简述
    省略

    2.1.2 电子商务的现状
    省略

    2.2 选题意义及背景
    省略

    3 开发平台介绍
    3.1 ASP.NET介绍
    ASP.NET不仅仅是Active Server Page (ASP)的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的的优势。

    ASP.NET构架是可以用Microsoft(R)公司最新的产品Visual Studio.NET开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.NET强大化软件支持的一小部分。

    它的特点是:

    1. 强大性和适应性。
    2. 简单性和易学性。
    3. 高效可管理性。
    4. 多处理器环境的可靠性。
    5. 自定义性,和可扩展性。
    6. 安全性。

    ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。

    ASP.NET是一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多,而且是可以用任何与.NET兼容的语言创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

    3.2 C#介绍
    C#是一种面向对象的编程语言,它作为Visual Studio中的一部分推出。C#(发音为“C-Sharp”)既保持了C++中熟悉的语法,并且还包含了大量的高效代码和面向对象特性。C#语言在保持C/C++灵活性的基础上为程序员带来更高效的RAD开发方式。它不仅能用于WEB服务程序的开发,并且还能开发强大的系统级程序。

    3.3 SQL Server 介绍
    关系型数据库系统是当前最流行的数据库管理系统。它是一个非常复杂的系统软件,对数据库的所有操作,包括定义、查询、更新和各种运行控制最终都通过它来实现的,因此它是使数据库系统具有数据共享、并发访问、数据独立等特性的根本保证。目前,Microsoft SQL Server 000是在成熟和强大的关系型数据库中最受欢迎、应用最广泛的一个。

    4 需求分析
    4.1 系统功能分析图
    4.1.1 管理员功能分析图
    管理员功能分析图如下图4-1所示:
    在这里插入图片描述

    4.1.2 用户功能分析图
    用户功能分析图如下图4-2所示:
    在这里插入图片描述

    4.2 系统功能分析
    1.浏览功能,一般游客或注册用户都可以浏览及查询商品,商店。
    2.用户注册及登录功能,用户需注册帐号后才能登录及进行其他相应操作。
    3.用户修改资料、购买商品以及查询订单功能。
    4.商家添加删除商品、管理商品、查询卖出商品、修改店铺资料及查看买家留言等功能。
    5.管理员对用户、商家、商品的管理功能
    6.管理员对商品分类的添加、删除功能。
    7.管理员发布修改公告及推荐商品。

    4.3 系统模块分析
    4.3.1 后台管理模块分析
    此模块只对系统管理员开放。管理员可以对用户、商家、商品,以及公告推荐商品进行管理。
    4.3.2 前台管理模块分析
    此模块对普通用户及卖家开放。又分为买家模块和买家模块:
    8. 买家模块。买家可以对注册资料进行修改对订单进行查看。
    9. 卖家模块。卖家在买家的基础上还可以对商品和商店进行管理,以及对买家下的订单和买家留言进行查看。

    5 数据库分析与设计
    5.1 数据库分析
    本课题开发的数据库包括三个方面:
     用户数据表:存储注册用户有关数据。包括注册用户及卖家基本信息数据表、用户所属地区数据表。
     商品数据表:包括商品基本信息数据表、商品分类数据表、商品评论数据表及订单数据表。
     商店数据表:包括商店基本信息数据表、商店评论数据表和商店留言数据表。
     公告数据表:存储公告内容等。

    5.2 数据库设计
    5.2.2 创建表及说明
    数据库webmarket包含以下十三个表:用户表(web_user)、商店表(web_shop)、省级地区表(web_area_class1)、市级地区表(web_area_class2)、商品表(web_goods)、商品一级分类表(web_goods_class1)、商品二级分类表(web_goods_class2)、商品三级分类表(web_goods_class3)、商品评论表(web_goods_comment)、商店评论表(web_shop_comment)、订单表(web_list)、留言表(web_message)、网站公告表(web_notice)。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6 系统功能设计与实现
    6.1 用户浏览及搜索商品
    所有用户及游客最先进入的是网站的首页,它包括推荐商品、商店排行等内容,也包括了商品的搜索功能。
    首页界面如图6-1所示:
    在这里插入图片描述

    导航栏上面关于用户登录注册部分会根据用户登录与否显示不同的信息,其代码如下:

    public string gettop()
        {
            string htmlstr;
            if (Session["webusername"] == null)//跟踪用户名,判断是否登录
            { htmlstr = "你好,欢迎来到零点商城!    [免费注册]   [登录]"; }
            else
            { htmlstr = "欢迎您," + Session["webusername"] + " [退出]"; }
            return htmlstr;//返回htmlstr的值
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    6.2 用户管理页面
    在用户管理的首页,我们可以看到用户的详细资料,界面如图6-4所示(此图为有商家权限用户的界面):

    在这里插入图片描述

    代码如下:

    public string main() 
        {
            string sql = "select * from web_user where user_name='" + Session["webusername"] + "'";
            IDataReader dr = common.GetDataReader(sql);
            dr.Read();
            Label1.Text = dr["user_name"].ToString();
            Label2.Text = dr["user_email"].ToString();
            Label3.Text = dr["user_truename"].ToString();
            Label4.Text = dr["user_idcard"].ToString();
            Label5.Text = dr["user_mobile"].ToString();
            Label6.Text = dr["user_tel"].ToString();
            Label7.Text = dr["area_class1"].ToString();
            Label8.Text = dr["area_class2"].ToString();
            Label9.Text = dr["user_address"].ToString();
            Label10.Text = dr["user_postalcode"].ToString();
             Label11.Text = dr["user_date"].ToString();
            int s = int.Parse(dr["shop_id"].ToString());
            string str;
            if (s == 0)
            {
                str = "您还未注册为卖家,想要卖商品请点击左边的成为卖家";
            }
            else {
                str = "您已经是卖家了哦,想要卖商品请点击左边的添加商品";
            }
            return str;
            dr.Close();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    卖家添加商品首先选择商品分类,其界面如图6-5所示:
    在这里插入图片描述

    代码如下:

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Session["webusername"] == null) //判断Session值是否为空,如果为空则跳到登录页面
                {
                    Response.Redirect("user/login.aspx");
                }
                init2();
                ListBox2.Enabled = true;// 实例化并启动一个新的工作线程,稍后将添加工作线程本身的功能
                ListBox3.Enabled = false;//终止该工作线程
                Button1.Enabled = false;
            }
        }
        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)//通过ListBox1的动作显示ListBox2的内容
        {
            string sql = "select * from web_goods_class2 where goods_class1='" + ListBox1.SelectedValue + "'";
            ListBox2.Enabled = true;
            ListBox3.Enabled = false;
            Button1.Enabled = false;
            ListBox2.DataSource = common.GetDataReader(sql);
            ListBox2.DataTextField = "goods_class2";
            ListBox2.DataValueField = "goods_class2";
            ListBox2.DataBind();
            initlabel();//显示Label1中的内容,即所选择的添加商品的分类
        }
        public void init2()//初始化ListBox1
        {
            string sql = "select * from web_goods_class1 order by goods_class1_id";
            ListBox1.DataSource = common.GetDataReader(sql);
            ListBox1.DataTextField = "goods_class1";
            ListBox1.DataValueField = "goods_class1";
            ListBox1.DataBind();
        }
        protected void ListBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            string sql = "select * from web_goods_class3 where goods_class2='" + ListBox2.SelectedValue + "'";
            ListBox3.Enabled = true;
            Button1.Enabled = false;
            ListBox3.DataSource = common.GetDataReader(sql);
            ListBox3.DataTextField = "goods_class3";
            ListBox3.DataValueField = "goods_class3";
            ListBox3.DataBind();
            initlabel();
        }
        protected void ListBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            Button1.Enabled = true;
            initlabel();
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect("addgoods.aspx?type=" + ListBox3.SelectedValue);//进入商品详细资料添加页面
        }
        public void initlabel()
        {
            string strlistbox1 = "";
            string strlistbox2 = "";
            string strlistbox3 = "";
            if (ListBox2.SelectedValue != "")
            {
                strlistbox2 = " > " + ListBox2.SelectedValue;
            }
            if (ListBox3.SelectedValue != "")
            {
                strlistbox3 = " > " + ListBox3.SelectedValue;
            }
            Label1.Text = ListBox1.SelectedValue + strlistbox2 + strlistbox3;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69

    商品详细资料添加界面如图6-6所示:
    在这里插入图片描述

    订单查询页面(以下是商家部分,买家类似),界面如图6-7所示:
    在这里插入图片描述

    代码如下:

    protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        {
            DataGrid1.CurrentPageIndex = e.NewPageIndex;
            string sql = "select * from web_list where sell='" + Session["webusername"].ToString() + "' order by list_date desc";
            DataGrid1.DataSource = common.GetDataSet(sql);
            DataGrid1.DataKeyField = "list_id";
            DataGrid1.DataBind();
        }
    其中:
    public static DataSet GetDataSet(string sql)
        {
            Database db = DatabaseFactory.CreateDatabase();
            DataSet ds= db.ExecuteDataSet(CommandType.Text, sql);
            return ds;
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    6.3 购买商品
    购买商品页面部分代码如下:

    protected void Button1_Click(object sender, EventArgs e)
        {
                string sql="select * from web_goods where goods_id='"+Request["id"]+"'";
                IDataReader dr = common.GetDataReader(sql);
                dr.Read();
                int gnum = int.Parse(dr["goods_number"].ToString());//将字符串转换成int型数据,方便下面的比较
                int bnum=int.Parse(this.Txtgoodsnumber.Text);
                if (bnum < 0 || bnum > gnum)//判断商品购买数量是否超出范围
                {
                    Response.Write("");
                }
                else { 
                    string strdate = DateTime.Now.ToShortDateString();
                    string str = "等待发货";
                    string sql = "insert into web_list(buy,sell,goods_id,goods_name,goods_number,list_price,list_date,list_condition)values('" + Session["webusername"].ToString + "','" + dr["user_name"].ToString + "','" + dr["goods_id"].ToString() + "','" + dr["goods_name"].ToString() + "','" + this.Txtgoodsnumber.Text + "'," + this.Txtallprice.Text + ",'" + strdate + "','" + str + "')";
                    common.ExecuteSql(sql);//将数据存入数据库
    				  Response.Write("");//返回商品订购成功信息,并跳转到首页
                }
                dr.close();
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    购买商品界面如图6-8所示:
    在这里插入图片描述

    由于篇幅有限,其他代码请详细参看设计。
    7 系统测试
    7.1 测试环境
    7.1.1 硬件环境
    普通计算机配置
    7.1.2 软件环境
    系统软件:Windows
    工具软件:ASP.NET、SQL Server

    7.2 主要测试模块
    7.2.1 商品浏览搜索模块测试
    用户进入网站首先进入网站首页,我们可以在首页上看到许多商品商家及系统公告等信息,并有针对性地查询信息。如图6-1所示。

    7.2.2 用户管理模块测试
    用户通过前台页面进入登录页面后,输入用户名及密码,通过验证进入用户管理页面,为注册的游客则点击进入注册页面,注册后再进入登录页面。
    用户进入管理页面时先判断用户权限,再做相应显示,商家界面如图6-4,普通用户界面则如图7-1所示。
    在这里插入图片描述

    7.2.3 商家管理模块测试
    商家对资料进行修改时不能修改用户实名及身份证号,这样商家的身份比较固定,减少欺骗事件的发生。
    商家添加商品先进入商品分类选择界面如图6-5所示,在第三个选择框内选定内容之后,可以点击“选好了,继续”按钮,然后进行下一步商品详细资料填写如图6-6所示,商品添加点击提交之后会出现不同错误显示,如图7-2、7-3、7-4等。
    在这里插入图片描述

    商家查看商品订单,会返回相应订单信息及状态,状态共分四中,第一种为等待买家付款;第二种是买家已伏款,等待卖家发货;第三种是卖家已发货,等待买家确认收货;第四种是交易成功;最后是交易关闭,这种状态是交易不成功,原因可能是商家长时间不发货,买家要求退款,或者买家对商品质量不满意,通过协商退款等原因,图6-7显示了前四种状态。

    7.2.4 管理员模块测试
    管理员首先进入管理员登录界面,登录后可进行商家和商品的管理等。商家审核界面及操作提示如图7-5、7-6、7-7所示。
    在这里插入图片描述

    由于篇幅关系,其他功能模块的实现请参看设计。

    结 论
    毕业设计使我经历了一个完整的电子商务网站系统开发过程,从选择题目到学习开发数据库和C#语言,再到网站需求分析,总体设计,详细设计直到最后编码测试,这使我初步了解了网站开发过程,并获得了网站开发经验。由于是第一次由自己独立制作整个网站,没有经验,有很多做得不好的地方,多亏了老师的指导与同学的帮助,才能顺利的完成制作。没有编码经验的我从最基本的东西学起,然后慢慢深入,从平台安装到实际运用真的学到了很多知识。通过几个月的努力终于成功的制作出了网站,由于个人能力及时间有限,网站不可避免地存在着不足和疏漏,关于一些实际问题尚待解决。虽然网站存在很多不足,但是,通过本次程序设计,增强了自己在程序设计方面的信心和动手实践能力。相信这对我以后的学习和工作会有很大帮助。

    参考文献
    [1] 郝刚,袁永刚,严治国,何宇光.ASP.NET2.0开发指南[M].北京:人民邮电出版社,2006。
    [2] 万峰科技.ASP.NET网站开发四“酷”全书[M].北京:电子工业出版社,2005。
    [3] Andrew Krowczyk,vinod Kumar…NET网络高级编程[M].北京:清华大学出版社,2003。
    [4] Chris H.Papppas,William H.Murray.C# 精髓[M].北京:人民邮电出版社,2002。
    [5] 方睿,吴四九,刁仁宏.网络数据库原理及应用[M].成都:四川大学出版社,2005。
    [6] 苏贵洋编著.ASP.NET网络编程从基础到实践[M].北京:电子工业出版社,2005。 [7] 王易.ASP.NET网站设计实例通[M].北京:清华大学出版社,2002。

    致 谢
    省略


    5、资源下载

    本项目源码及完整论文如下,有需要的朋友可以点击进行下载

  • 相关阅读:
    FEDformer里面的CZ1d
    关于Hbase的一些问题
    【无标题】
    企业运维 | MySQL关系型数据库在Docker与Kubernetes容器环境中快速搭建部署主从实践
    值类型和引用类型的区别 I 数据结构中的堆和栈和内存中的堆和栈的区别
    2022 年跨境电商要尝试的 25 个黑五营销技巧
    第6周学习:Vision Transformer &amp; Swin Transformer
    Idea Dao.xml 编写sql,使用内部类,爆红
    C# 使用SpecFlow创建BDD测试用例
    经典算法之快速排序(QuickSort)
  • 原文地址:https://blog.csdn.net/m0_66238867/article/details/125997726