本科毕业设计---网上花店管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网上花店管理系统毕业论文
目录
摘要: (1)
一、引言 (1)
二、需求分析 (2)
(一)开发背景 (2)
(二)功能需求分析 (2)
(三)开发环境需求 (3)
(四)可行性分析 (3)
三、系统设计 (4)
(一)系统功能图 (4)
(二)管理员系统活动图 (5)
(三)系统用例图 (6)
(四)前台购物流程图 (7)
四、数据库设计 (7)
(一)E-R模型图 (8)
(二)数据库模型图 (8)
(三)数据库表设计 (9)
(四)数据字典 (10)
五、系统详细设计与实现 (12)
(一)前台网站 (12)
(二)后台管理 (21)
六、系统测试 (27)
七、小结 (27)
八、参考文献 (28)
网上花店管理系统的设计与实现
计算机信息管理081班陶玉琴
摘要:21世纪是个日新月异的时代,一切的更新速度都是如此之快,人们生活的节奏也随之提高,时间已经成为一种奢侈品,再也容不得我们去挥霍半分,网上购物顺应时代的潮流,走入了人们的日常生活,网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。

鲜花在人们的生活中是不可或缺的人类情感的传递者,但是快节奏的生活,让他们缺少了这样的机会去表达,网上花店提供这样一个平台,快捷,方便,安全,让他们在忙自己的事情的同时,也能保留这份美好。

下面我将介绍一下我们网上花店管理系统的功能,流程。

关键词:网上鲜花销售;后台管理系统;购物车;订单
一、引言
上世纪90年代以来,随着网络、通信和信息技术的突破性进展,Internet在全球爆炸性增长并迅速普及。

在这一前提下,电子商务应运而生了。

电子商务是基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新的商务模式,它可以使商家与供应商更紧密地联系起来,更快地满足客户需求,也可以让商家在全球范围内选择最佳供应商。

据调查,中国经常网上购物人数已达3000万人,有1/4的网民有过购物经历。

与上年同期相比,经常购物的网民增长了50%。

国网上购物市场巨大,从交易额来看,根据统计,2009上半年我国网上购物者累计购物金额达到100亿元。

相比之下,去年全年也只有34亿元。

随着中国电子商务环境的不断改善,网上购物以其便捷、省时、省钱和安全等特点日益为人们所熟悉和青睐,这样的机遇之下,网上购物网站也必将迅速崛起。

同时网上购物网站涉及范围也在不断的扩大。

网上鲜花销售网站也在市场的巨大需求之下产生。

目前,世界各国纷纷看好电子商务这块新大陆,普遍认为电子商务的发展将是未来25年世界经济发展的一个重要推动力,对经济的促进将远远超过200年前的工业革命。

著名经济调查评论家Robert Metcalfe声称:联网的价值等于(与之相联结的)网点数量的平方。

二、需求分析
(一)开发背景
鲜花本身是一种比较容易在网络上进行销售的产品,不存在网上和现实中具有较大的品质差异,在网上挑选更加直观和方便,而且现在大部分网上的花店都将订花、送花合并成一条龙服务,让买花的网民越加方便。

轻松点击之间,鲜花与衷心的祝福便可以准时送抵家人或朋友。

所以,设计一个能进行鲜花查询、订购及管理功能的网上花店管理系统,将传统的花店经营管理模式与计算机网络及数据库系统的综合经营管理模式相结合,是现实客观的需要。

本文主要是采用和SQlServer2005开发的鲜花销售系统,目标是实现一个以销售为中心的网上花店管理系统,构建用户信息与账号,账号与订单信息有机结合的业务系统。

提供了包括传统业务中最基本的用户注册、登录、查询、订购、购物车管理、生成订单、鲜花信息管理、用户信息管理及订单信息管理等功能,是一个比较完善的系统。

(二)功能需求分析
网站分为两个部分:前台服务和后台管理,其功能如下:
1.前台设计主要实现:
(1)网站采用红色为主色调,突出鲜花主题,让顾客感受到一种氛围,带着一种愉悦的心情浏览我们网站。

(2)客户在浏览我们网站的鲜花时,根据商品的分类可以查看不同类型的鲜花,也可以直接在站内搜索自己想看的鲜花品种。

(3)当看中的鲜花可以点击查看详细内容以及加入购物车直到最终购买。

(4)当用户提交订单以后可以查询订单,首页也有滚动的订单发货情况的显示。

(5)用户可以对网站进行留言的操作。

(6)客户可以查看网站的最新公告以及一些关于鲜花的文章。

(7)管理员可以通过入口进入后台管理。

2. 后台管理主要实现:
(1)管理员管理在我们网站注册的客户的一些基本资料,客户根据积分分为不同的等级,
以及相应的等级管理。

(2)查看购物表以及管理订单,可以对订单进行审核以及发货。

订单报表的打印,查看销售业绩。

(3)可以对前台用户的留言进行审核和回复。

(4)发布一些网站的公告和关于鲜花的一些文章。

对其进行增删改查。

(5)管理鲜花的进货,库存的管理,以及鲜花的分类和热卖,特卖的推荐。

(6)主要还原和备份数据库,保证系统数据的完整性和安全性。

送货和付款方式的增删改查。

(7)管理本花店的基本信息,对其进行修改的操作。

(8)对员工信息的管理,以及密码能进行修改操作。

(三)开发环境需求
操作系统:Windows XP/ Windows 2003。

数据库:SQL Server 2005。

开发工具:Microsoft Visual Studio 2008
辅助开发工具:Photoshop CS2、Flash8。

(四)可行性分析
1.经济可行性分析
在我国,网上购物从无到有也不过短短几年时间。

如今已经普及到每个人得身上,根据CNNIC的统计结果,截止2009年1月中国有互联网用户7950万人,而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是3235.7万人,并且这一数字还在以17%左右的速度增长,预计到2010年中国网上购物用户将达到10262万人,这说明在中国发展网上购物具有良好的群众基础,网上购物方式越来越被大家所接受。

电子商务的功能也日趋完善,软件行业的飞速发展,为网站的开发提供了充分的条件。

单独的鲜花店,已经满足不了市场的需求,鲜花在网上销售,能满足更多,更远顾客的要求。

2.技术可行性分析
网上花店管理系统采用了当前的主流计算结构—B/S模式进行开发,前台开发工具选用Microsoft Visual Studio 2008平台。

, JavaScript等语言的运用Microsoft Visual Studio 2008是一种可视化的、面向对象的Windows开发语言,Microsoft Visual Studio 2008具有易用、通用和开发效率高的特点。

后台的数据库开发工具选用了Microsoft SQL Server 2005,
它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。

这两种开发工具功能强大,有较好的接口,作为本系统开发工具是可行的。

三、系统设计
(一)系统功能图
根据上述系统功能的需求分析,按照结构化程序设计的需求,得到如下的后台的系统模块图。

如图3-1所示。

图3-1 系统功能图
1.用户管理模块
此模块包括了员工信息的添加、删除、修改、查询以及管理员和员工密码修改的部分。

2.客户管理模块
此模块包括了对客户信息的查询、客户类型增删改查的管理、客户的购买量以及金额和积分的管理。

3.业绩管理模块
此模块主要是对鲜花销售的情况进行查询和报表的打印,以及对订单的查询和商品的发货管理。

4.新闻管理模块
此模块主要是网站公告的添加,修改,删除和发布,以及一些关于鲜花文章的添加,修改,删除和发布。

5.论坛管理模块
主要是管理顾客的意见反馈,审核留言内容,给予及时的回复。

6.商品管理模块
此模块中主要是对鲜花的采购,库存的管理,鲜花信息的修改和删除以及对鲜花进行分类。

7.商店信息管理模块
此模块中主要是对商店的基本信息进行管理。

8.基本设置模块
此模块主要是数据库的还原与备份以及送货方式和付款方式的添加,修改,删除,查询。

(二)管理员系统活动图如图3-2所示。

图3-2 系统活动图(三)系统用例图如图3-3所示。

图3-3 系统用例图
(四)前台购物流程图 如图3-4所示。

图3-4 前台购物流程图
四、数据库设计
数据库的设计在系统的开发中尤为重要,要考虑整个业务流程的逻辑关系。

1.首先充分体现系统的需求,数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,准确的表达数据间关系。

2.保证数据的准确性和一致性,通过主外键、非空、限制、唯一索引等保证数据的健壮。

3.提高数据的查询效率,通过合理表结构,安排物理存储分区、增加索引等方式,提高数据的读取速度,提高查询效率。

4.有好的扩展性,在必要时能根据需求扩展数据结构。

(一)E-R模型图
ER图简洁的反映出整个流程的概况和系统中所有实体之间相对应的关系,综合了管理员在整个系统中的联系和各自的安排,前台服务顾客的购物流程等,把系统的内部联系明了化。

如图4-1所示。

图4-1 ER模型图
(二)数据库模型图
图中显示了数据库中有哪些表,各张表在数据库中所存在的联系,即他们之间的主外键的关系。

如图4-2所示。

图4-2 数据库模型图
(三)数据库表设计
经过分析,系统中建立了数据库NetFlower,并创建了如下表:如图4-3所示。

图4-3 数据库表
(四)数据字典
表4-1 Article(章信息表)
表4-2 Customer(客户信息表)
表4-3 Delivery(送货方式表)
表4-4 FlowerInfo(鲜花信息表)
表4-5 OrderInfo(订单信息表)
表4-6 News(新闻信息表)
表4-7 QuestionInfo(留言信息表)
表4-8 Shopping(商店信息表)
五、系统详细设计与实现
(一)前台网站
1.网站首页
网站首页是套用模板,在加上两个自定义控件组成,头部和底部是套用的模板,顶部网
站的导航展示网站的主要功能,一张鲜花的flash图片简单而显得优美让人赏心悦目。

首页主要是产品的展示,有热卖和特卖推荐,以及左边的菜单何以查找不同类型的鲜花。

点击鲜花查看详细信息,继而购买。

首页还展示网站的一些公告,以及文章的信息,都可点击进入详细内容,订单的滚动查看以及登陆后的个人订单的查看都可实现。

购物车信息,会员登录,注册一应俱全。

如图5-1所示。

图5-1 网站首页
(1)网站首页UI层前台代码
绑定鲜花信息,采用datalist绑定数据库的数据,主要实现代码如下:
<asp:DataList ID="FlowerList"runat="server"RepeatDirection="Horizontal"
Width="100%"
RepeatColumns="4">
<ItemTemplate>
<table border="0"cellpadding="0"cellspacing="0"height="200"width="128"> <tr>
<td>
<div align="center">
<a href='seeflower.aspx?id=<%# Eval("FlowerID") %>'>
<img id="Img1"runat="server"border="0"height="102"
src='<%#InsertXXX(Eval("picture").ToString())%>'width="102"/></a>
</div></td></tr><tr><td height="20">
<div align="center"><a href='seeflower.aspx?id=<%# Eval("FlowerID") %>'
class="B">
<asp:Label ID="Label5"runat="server"
Text='<%#Eval("FlowerName")%>'></asp:Label></a></div></td></tr>
<tr><td height="20"><div align="center">
<asp:Label ID="Label1"runat="server"Text='市场价:¥'>
</asp:Label><asp:Label ID="Label3"runat="server"
Text='<%#Eval("martprice")%>'></asp:Label>元</div></td></tr>
<tr><td height="20">
<div align="center"><asp:Label ID="Label2"runat="server"Text='会员价:
¥'></asp:Label>
<asp:Label ID="Label4"runat="server"
Text='<%#Eval("MemberPrice")%>'></asp:Label>元
</div></td></tr></table></ItemTemplate><ItemStyle BorderColor="#FFC0FF"
BorderStyle="Dotted"BorderWidth="1px"/>
<SelectedItemStyle BorderColor="#8080FF"/></asp:DataList>
(2)网站首页UI层后台代码
调用BU层的查询方法,获取鲜花的信息,主要实现代码如下:
protected void SelectPicture()
{
MyDataTable = MyFlowerInfoManager.SelectPicture().Tables[0];
FlowerList.DataSource = MyDataTable;
FlowerList.DataBind();
}
public string InsertXXX(string XXX)
{
return XXX.Insert(2, "/Manager");
}
(3)网站首页BU层代码
定义绑定查询的函数,运用Sql语句从数据库中读取前八行的数据,主要实现代码如下:
public DataSet SelectPicture()
{
DataSet myDs = new DataSet();
string SqlQuery = "select top 8
FlowerID,Picture,FlowerName,MartPrice,MemberPrice from FlowerInfo where
IsHot=1 and [Count]>0 ";
myDs = MyDataBase.GetList(SqlQuery);
return myDs;
}
2.鲜花详细信息页面
本页面是顾客点击看中的鲜花后跳转的页面,主要是看花的详细信息,以及查看购物流程,可以点击放入购物车,也可以继续购物,返回首页。

如图5-2所示。

图5-2 鲜花详细信息页面
(1)鲜花信息页面UI层前台代码
用table搭建,显示鲜花的详细信息。

Button按钮的click事件跳转页面,主要实现代码如下:
<tr>
<td align="left"background="images/shangpinfeilei1.jpg"height="46"
colspan="2">
市场价:<asp:Label ID="priceLb"runat="server"></asp:Label>元
</td>
</tr>
…………
<tr style="font-weight: bold; color: red">
<td align="left"background="images/shangpinfeilei1.jpg"height="46" colspan="2">
<a href="#"></a>
<asp:ImageButton ID="ImageButton1"runat="server"Height="41px" ImageUrl="images/go.gif"
OnClick="ImageButton1_Click"/>&nbsp;
<asp:ImageButton ID="ImageButton2"runat="server"Height="36px"
ImageUrl="images/goon.gif"
OnClick="ImageButton2_Click"Width="132px"/>&nbsp;
<br/>
</td>
(2)鲜花信息页面UI层后台代码
从数据库查询数据,赋值给相对应的label.text,主要实现代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string FlowerID = Request.QueryString["ID"];
ViewState["FlowerID"] = FlowerID;
SelectFlower();
}
}
protected void SelectFlower()
{
string paramID = ViewState["FlowerID"].ToString();
MyDt = MyFlowerInfoManager.SelectFlower(paramID).Tables[0];
if (MyDt.Rows.Count != 0)
{
Label1.Text = MyDt.Rows[0]["Integral"].ToString();
this.DataList1.DataSource = MyDt;
this.DataList1.DataBind();
nameLb.Text = MyDt.Rows[0]["FlowerName"].ToString();
priceLb.Text = MyDt.Rows[0]["MartPrice"].ToString();
salepriceLb.Text = MyDt.Rows[0]["MemberPrice"].ToString();
bel2.Text = MyDt.Rows[0]["Florid"].ToString();
}
}
(3)鲜花信息页面BU层代码
根据鲜花的种类FlowerTypeID,从数据库查询相应鲜花的DataSet,主要实现代码如下:public DataSet SelectFlower(string paramFlowerTypeID)
{
DataSet myDataSet = new DataSet();
string sqlQuery = " select
FlowerID,Picture,FlowerName,MartPrice,MemberPrice,Florid,(MemberPrice*0
.1) as Integral from FlowerInfo where FlowerID='"+ paramFlowerTypeID + "'"; myDataSet = MyDataBase.GetList(sqlQuery);
return myDataSet;
}
图5-3 采用放大镜查看
(1)放大镜查看页面代码
本页面主要是用JavaScript代码实现,代码如下:
(function($){
$.fn.jqueryzoom = function(options){
var settings = {
xzoom: 470, yzoom: 300,offset: 10,position: "right" };
if(options) {
$.extend(settings, options);
}
$(this).hover(function(){
var imageLeft = $(this).get(0).offsetLeft;
var imageRight = $(this).get(0).offsetRight;
var imageTop = $(this).get(0).offsetTop;
var imageWidth = $(this).get(0).offsetWidth;
var imageHeight = $(this).get(0).offsetHeight;
var bigimage = $(this).attr("bigpp");
if($("div.zoomdiv").get().length == 0){
$(this).after("<div class='zoomdiv'><img class='bigimg'
src='"+bigimage+"'/></div>");
}
…………
function MouseEvent(e) {
this.x = e.pageX
this.y = e.pageY}
3.加入购物车
当查看鲜花的详细信息之后满意的话可以加入购物车,本页显示你所有加入购物车的商品,你还可以进行修改数量,以及删除购物车的信息,离开重新购物,如果满意可以提交订单。

如图5-4所示。

图5-4 购物车信息页面
(1)加入购物车页面UI层前台代码
采用DataGrid绑定表shopping的数据,显示用户的购物车信息,主要实现代码如下:
<asp:DataGrid ID="ShopCart"runat="server"AutoGenerateColumns="False"
BorderWidth="1px"CellPadding="4"Font-Names="Verdana"ForeColor="#333333"
GridLines="Vertical"Width="764px"OnDeleteCommand="ShopCart_DeleteCommand"
OnItemCommand="ShopCart_ItemCommand"
OnItemDataBound="ShopCart_ItemDataBound"><Columns><asp:BoundColumn
DataField="ID"HeaderText="编号"></asp:BoundColumn>
…………
<asp:ButtonColumn CommandName="Delete"HeaderText="删除"Text="&lt;div
id=&quot;de&quot; onclick=&quot;javascript:return confirm('执行此项操作,信息将无法恢复,确认删除吗?');&quot;&gt;删除
&lt;/div&gt;"></asp:ButtonColumn><asp:ButtonColumn ButtonType="PushButton"
CommandName="update"HeaderText="更新"Text="更新">
</asp:ButtonColumn></Columns><HeaderStyle BackColor="#FFE6EF"
Font-Bold="True"ForeColor="Black"/></asp:DataGrid>
(2)加入购物车页面UI层后台代码
根据登陆的用户名从shopping表中查询记录,在DataGrid的删除事件里根据shoppingID 删除购物车信息,主要实现代码如下:
protected DataTable SelectShopping()
{
string paramname = Session["UserName"].ToString();
string paramID =
MyShoppingManager.GetID(paramname).Rows[0][0].ToString();
MyDt = MyShoppingManager.SelectShopping1(paramID);
this.ShopCart.DataSource = MyDt;
this.ShopCart.DataBind();
return MyDt; }
protected void ShopCart_DeleteCommand(object source,
DataGridCommandEventArgs e)
{ string id = e.Item.Cells[0].Text;
MyShoppingManager.deleteshopping(id);
jisuan();
jisuanjifen();
SelectShopping();}
(3)加入购物车页面BU层代码
调用Insert Sql语句向购物添加信息,主要实现代码如下:
public int IntoBus(ShoppingData MyShoppingData) { string sqlQuery = "Insert into Shopping (CusID,FlowerID,MartPrice,FactPrice,Count,Integral,ShopTime,IsBuy)Values
('" + MyShoppingData.CusID + "','" + MyShoppingData.FlowerID
+ "','" + MyShoppingData.MartPrice + "',
'" + MyShoppingData.FactPrice + "',
'" + MyShoppingData.Count + "','" + MyShoppingData.Integral + "',
'" + MyShoppingData.ShopTime + "','"+MyShoppingData.IsBuy+"')";
int returnValue = myDataBase.ExecuteNonQuery(sqlQuery);
return returnValue; }
4.客户留言页面
在本页面客户可以对我们网站以及鲜花的信息,送货情况进行留言反馈,管理员会在后台及时进行审核和回复。

客户留言时要登记一下基本的信息,以方便我们联系。

如图5-5
所示。

图5-5 客户留言页面
(1)客户留言页面UI层前台代码
TextBox填写留言用户的信息,点击提交按钮提交留言信息,点击查看留言回复按钮查看留言回复内容,主要实现代码如下:
<tr><td align="center">nbsp;姓名:</td><td class="style26">
<input id="txtName"type="text"/>
<label id="lblName"style="color: Red;">
*</label>
</td><td align="center"rowspan="4">
<img src="images/liuleft.png"style="width: 208px; height: 176px"/>
</td></tr>
…………
<tr><td colspan="2"align="right"><input id="btnSubmit"type="button"value="
提交"onclick="Submit()"/><asp:Button ID="btnBack"runat="server"
onclick="btnBack_Click"Text="查看留言反馈"/>
</td></tr>
(2)客户留言页面UI层后台代码
用Ajax 获取TextBox的值,调用BU层添加方法,添加留言信息,主要实现代码如下:
[AjaxPro.AjaxMethod()]
public void SubmitQuestion(string paramName, string paramEmail, string
paramTitle, string paramContent)
{
QuestionInfoManager paramQuestionInfo = new QuestionInfoManager();
paramQuestionInfo.CusName = paramName;
…………
paramQuestionInfo.CreateTime = System.DateTime.Now.ToString();
paramQuestionInfo.IsCheck = "否";
MyQuestionInfoManager.InsertInfo(paramQuestionInfo);
}
(3)客户留言页面BU层代码
Sql语句insert into ,向数据库插入留言的信息,主要实现代码如下:
public int InsertInfo(QuestionInfoData MyQuestionInfoData)
{
int returnValue = 0;
string SqlQuery = "INSERT INTO
[NetFlower].[dbo].[QuestionInfo]([CusName],[Question],[Answer],[Ema
il],CreateTime,IsCheck)VALUES('"+ MyQuestionInfoData.CusName + "','"
+ MyQuestionInfoData.Question + "','" + MyQuestionInfoData.Answer +
"','" + MyQuestionInfoData.Email + "','" +
MyQuestionInfoData.CreateTime + "','" + MyQuestionInfoData.IsCheck +
"')";
returnValue=MyDataBase.ExecuteNonQuery(SqlQuery);
return returnValue;}
(二)后台管理
1.后台管理主页面
主页面由iframe框架搭建而成,左边是javascript 写的一个treeview 主要展示系统的总模块,顶部是系统的一些基本信息以及操作。

点击treeview 右边会出现相应模块的信息。

也可以点击右面的图例,进入相应的页面。

如图5-6所示。

5-6 后台管理主页面
(1)后台管理主页面UI层前台代码
利用Js创建树,形成模块的菜单,主要实现代码如下:
<script type="text/javascript">
var tree = null; var root = new TreeNode('系统菜单'); var fun1 = new TreeNode('用户管理'); root.add(fun1);
var fun2 = new TreeNode('员工信息', 'Web_Staff/UIWeb_StaffManager.aspx', 'tree_node.gif', null, 'tree_node.gif', null); fun1.add(fun2);
…………
var fun38 = new TreeNode('商店管理'); var fun39 = new TreeNode('商店信息', 'ShopInfo/UIShopInfoEdit.aspx', 'tree_node.gif', null, 'tree_node.gif', null);
fun38.add(fun39); root.add(fun38);
tree = new Tree(root); tree.show('menuTree');
</script>
(2)后台管理主页面UI层前台代码
用Attributes给服务器控件添加Html的链接方法,点击tree 出现链接的页面,主要实现代码如下:
public void InitProtalBar(){
this.Protalbtn1.Attributes.Add("href", base.GetBaseUrl() +
"Index.aspx");
……
this.Protalbtn5.Attributes.Add("href",
"../Manager/Web_Staff/StaffPassWord.aspx");
this.Protalbtn5.Attributes.Add("target", "frameContent");
…………
base.JsWrite("OldSystem=" + this.Protalbtn4.ClientID, "Default");}
2.鲜花信息管理页面
本页面主要是对鲜花的采购以及库存的管理,当库存不足会出现红色预警,可以根据条件查询鲜花的信息。

如图5-7所示。

5-7 鲜花信息管理页面
(1)鲜花信息管理页面UI层前台代码
采用Gridview 绑定鲜花的详细信息,还可以根据鲜花的编号,鲜花的名称等条件进行模糊查询,主要实现代码如下:
<asp:GridView ID="grdvMessage"runat="server"AutoGenerateColumns="False"
BackColor="#E7E7FF"
BorderStyle="Ridge"DataKeyNames="ID"Height="5px"Width="100%"
OnRowDataBound="grdvMessage_RowDataBound">
<FooterStyle BackColor="#B5C7DE"ForeColor="#4A3C8C"/>
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input id="chkAll"onclick="SelectAll(this, 99)"
type="checkbox"/>
……
<asp:TemplateField HeaderText="详细">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:ImageButton ID="imgbtnDetail"runat="server"CommandArgument='<%# Eval("ID") %>'SkinID="btnDetail"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="White"CssClass="GridRow"Height="5px"
HorizontalAlign="Center"/>
<SelectedRowStyle BackColor="#738A9C"Font-Bold="True"
ForeColor="#F7F7F7"/>
<PagerStyle ForeColor="#4A3C8C"HorizontalAlign="Right"/>
<HeaderStyle CssClass="GridHeader"Font-Bold="True"/>
<AlternatingRowStyle BackColor="#F7F7F7"Height="5px"/>
</asp:GridView>
(2)鲜花信息管理页面UI层后台代码
调用BU层的模糊查询的方法,主要实现代码如下:
public void BindGrid(int paramPageIndex, int paramPageSize)
{
FlowerInfoManager myFlowerInfo = new FlowerInfoManager();
myDs = myFlowerInfo.Search(null, this.myQueryData);
this.Master.BindData(this.grdvMessage, myDs.Tables[0].DefaultView); }
(3)鲜花信息管理页面BU层代码
从数据库读取数据鲜花的所有信息,要实现代码如下:
public DataSet SelectFlower(string paramFlowerTypeID)
{
DataSet myDataSet = new DataSet();
string sqlQuery = " select FlowerID,Picture,
FlowerName,MartPrice,MemberPrice,
Florid,(MemberPrice*0.1) as Integral from FlowerInfo
where FlowerID='" + paramFlowerTypeID + "'";
myDataSet = MyDataBase.GetList(sqlQuery);
return myDataSet;
}
3.鲜花的添加修改页面
本页面主要是对鲜花的信息进行修改,以及添加库存,减少库存,对库存量进行预警,可以上传鲜花图片。

如图5-8所示。

图5-8 鲜花添加修改页面
(1)鲜花添加修改页面UI层前台代码
用table搭建的,TextBox填写添加的鲜花信息,主要实现代码如下:
<tr><td style="width: 100px">
鲜花编号
:</td>
<td style="width: 120px">
<asp:TextBox ID="txtFlowerID"runat="server"Width="100%"
ontextchanged="txtFlowerID_TextChanged"
AutoPostBack="true"></asp:TextBox>
</td>
<td style="width: 40px">
&nbsp;<font color="#CC0000">*<font>
</td>
<td style="width: 40px">
</td>
………………
<td style="width: 57px"></td></tr><tr><td>是否特别推荐</td><td>
<asp:DropDownList ID="txtIsMain"runat="server"Width="100%">
<asp:ListItem Value="0"></asp:ListItem>
<asp:ListItem>1</asp:ListItem>
</asp:DropDownList>
</td>
<td style="width: 57px">
</td>
</table>
(2)鲜花添加修改页面UI层后台代码
调用BU层的添加和修改方法,传值给指定的参数,主要实现代码如下:protected void btnConfirm_Click(object sender, EventArgs e)
{
if (!this.CheckInput())
{
return;
}
myFlowerInfo = this.GetPageValue(myFlowerInfo);
………………
try
{
myFlowerInfo.InsertInfo(myFlowerInfo);
this.Clear();
this.Alert("保存成功", "Saved");
btnCancel_Click(sender, e);
}
catch (Exception myException){
ExceptionManager.Throw(this.OperatorID, "维护", myException);
this.Alert("保存失败,此次操作无效!", "Error");
}
}
(3)鲜花添加修改页面BU代码
采用添加的Sql语句向数据库添加鲜花信息,主要实现代码如下:
public int InsertInfo(FlowerInfoData MyFlowerInfoData)
{
int returnValue = 0;
string SqlQuery = "INSERT INTO
[NetFlower].[dbo].[FlowerInfo]([FlowerID],[FlowerName],
[FloTypeID],[Picture],[MartPrice]";
SqlQuery += ",[MemberPrice],[Florid],[Count],[PurchaseData], [IsHot],[IsMain],SaleCount) VALUES
('" + MyFlowerInfoData.FlowerID + "',
………………
'" + MyFlowerInfoData.IsMain + "','"+MyFlowerInfoData.SaleCount+"')"; returnValue = MyDataBase.ExecuteNonQuery(SqlQuery);
return returnValue;
}
4.报表页面
本页面主要是查看商品销售的信息,可以查看各种鲜花的销售量,还有销售总额,可以查询各个时间段的营业情况。

如图5-9所示。

图5-9 销售报表页面
(1)销售报表页面UI层前台代码
本页面打印水晶报表通过dataset数据集,报表文件实现,主要代码实现如下:
<center><small>起始时间:<asp:TextBox ID="txtShopTime"runat="server"
MaxLength="50"
onclick="calendar.show(this)"></asp:TextBox>
截止时间:<asp:TextBox ID="txtIntegral"runat="server"MaxLength="50"
onclick="calendar.show(this)"></asp:TextBox>
<asp:Button ID="Button1"runat="server"Text="查询"Height="26px"Width="82px"
onclick="Button1_Click"/></small><div>
<CR:CrystalReportViewer ID="crtShopping"runat="server"AutoDataBind="true"/> </div></center>
(2)销售报表页面UI层后台代码
本页面打印水晶报表通过dataset数据集,主要代码实现如下:
protected void Page_Load(object sender, EventArgs e)
{
ShoppingManager myShopping = new ShoppingManager();
DataTable myDataTable = myShopping.SearchInfo1("", "",
this.txtShopTime.Text, this.txtIntegral.Text).Tables[0];
crpt.Load(Request.MapPath("../Shopping/CryShop.rpt"));
crpt.SetDataSource(myDataTable);
crpt.Refresh();this.crtShopping.ReportSource = crpt;}
六、系统测试
系统完成以后,有许多需要改进的地方,我们都已解决。

1.订单查看:开始时,我们没有考虑到顾客购买鲜花提交订单时可在查看自己的订单是否发货,因此我加了两个界面OrdermMsg.aspx和selectOrderMsg.aspx,前一个界面是客户提交订单时提示客户记录自己的订单信息,后一个界面是客户输入订单号和相应信息后可查看自己的订单发货情况。

2.户留言直接就能看到,是不合理的,应该在后台审核之后才能看到。

3.户登录之后,应该不能进入登陆页面了。

4.单页面:在查看所有订单时,GridView中不能查看订单发货状态,而无法确认订单是否已发货,因此我们在GridView中添加了一个字段用于显示订单发货状态。

5.台页面:换台电脑时,前台页面不对齐,歪歪扭扭,因此我们把模板页面居中显示,再通过调试,问题解决,所有页面一致。

七、小结
至此,网上花店管理系统设计与实现顺利完成。

本项目主要是由我和左群两个人共同完成,以下是项目的具体分工:
1.我负责前台首页的数据绑定,站内搜索,以及左右自定义控件的创建,左群负责首页头尾,以及整个页面的布局。

2.我负责前台的网站公告,新闻和文章的发布,客户留言,鲜花分类的信息,查看详细信息,加入购物车,购物车的信息,联系我们模块。

左群负责会员登陆,注册,提交订单页面,查询个人订单,在线订购。

3.我负责后台主页面的左边的菜单,左群负责头部和右面的功能菜单。

4.我负责后台鲜花信息的管理,网站公告和鲜花文章的管理,送货和付款方式的管理,论坛管理,业绩报表的打印,商店信息的管理。

左群负责员工信息管理,客户信息管理,客户的购物详细信息,订单信息的管理,数据库的备份和还原。

在几天的试运行的过程中,功能方面有些考虑不周的地方,现已补足,此系统可以按着设计思想和需求功能正常运行。

由于条件有限,网站还有些东西只是思想层面的,但购物的流程,以及网站的管理都基本完成。

一个完好的网上花店管理系统还需要更多更复杂的功能要求。

由于开发周期短和开发人员等局限性,不能将本套系统尽善尽美。

希望在以后能够对网上购物做更深一步的调研,。

相关文档
最新文档