数据库课设试验报告 全面网络商店.docx
- 文档编号:6643622
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:40
- 大小:11.08MB
数据库课设试验报告 全面网络商店.docx
《数据库课设试验报告 全面网络商店.docx》由会员分享,可在线阅读,更多相关《数据库课设试验报告 全面网络商店.docx(40页珍藏版)》请在冰豆网上搜索。
数据库课设试验报告全面网络商店
数据库课程设计实验报告
课程设计题目:
航大小吃商店
系部:
计算机科学与技术学院
班级:
100341C
学号:
100341324
姓名:
汪何媛
指导老师:
曹卫东
完成日期:
2012年12月15日
一、系统背景
(一)时代背景
(二)具体的行业背景和系统背景
二、需求分析
(一)系统预期的功能
(二)需求信息描述
(三)数据项和数据结构
(四)数据流图
(五)工作流程图
(六)系统功能模块划分
三、概念模型设计
四、数据库逻辑结构设计
五、后台数据库操作代码及查询结果
(一)创建
(二)查询
(三)更新
六、心得体会
一、系统背景
(一)时代背景
眼下电子商务网站正如雨后春笋般大量涌现,越来越多的人们意识到这种新型交易形式所蕴含的潜力与商机,于是企业网络化逐渐成为一种时尚,走进人们的生活中。
特别是在大学校园这样一个年轻化的生活圈里,网购更是需求量倍增!
因此,看到这样一个商机,我便想到开发一个校园小吃网购系统,方便同学们老师们。
【注:
所谓的“企业网络化”,简单来说,就是让企业上网,把现实的所有企业的东西全部搬到网络上去,譬如阿里巴巴就是提供所有企业都上网的一个网络服务媒介;这样做的最终目标是为了树立企业的文化,产生最终的销售,增加更多的订单,方便更多的客户,当然还有节俭企业的运营成本(譬方很多公司的无纸化办公),增强员工的有效化办公。
】
(二)具体的行业背景和系统背景
行业背景:
伴随网络时代的到来,使社会各行各业都开始出现商品的网络联系化、互通化。
人们可以通过多种渠道去购买称心如意的物品。
而人们图简单方便的心理特征,特别是在大学生学习生活较为忙碌,使得该行业注定会呈现出被网络化的趋势。
与传统商店的思想和模式相比,网上商店呈现出了许多新特点:
(1)顾客可以足不出户买到商品。
(2)没有店面租金成本。
(3)没有食品库存的压力(4)便于收集顾客信息,为顾客提供个性化服务(5)品种规模大,经营时间久。
系统背景:
项目开发平台:
MicrosoftVisualStudio;
二、需求分析
网上商店与传统商店相比的优势和新特点,使我们希望通过自己学到的数据库相关知识来设计一个关于网上那个商店的课程报告,但由于所学知识有限,不能完整的去表达出在实际生活整个系统的功能和操作,所以我们决定该课题——网上商店(航大小吃)的主要方向是针对于后台管理,以及面向客户。
(一)系统预期的功能
要求本系统能够投入实际的使用并且满足基本的功能要求。
要求具有较高的可靠性、安全性和易维护性。
本系统预期将实现以下的功能:
(1)管理员模块——相当于后台操作:
现有小吃店管理(包括查看商品信息、修改商品信息、删除商品信息)、添加新商品、订单管理。
(2)用户模块:
商品查询(按照商品名称查找商品)、查看商品详细信息(商品编号、商品名称、单位、价格、存货等)、商品购买(可输入购买数量)、订单信息确认等。
(二)需求信息描述
根据上述系统功能分析,针对一般商店的需求,总结出如下的需求信息:
用户分为一般用户和管理员用户;
一个用户可以购买多个,多种商品;
一个订单对应多个商品,一个买家,一种商品;
一个用户对应多张订单;
一个总订单对应多个订单;
(三)数据项和数据结构
经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下所示的数据项和数据结构:
●管理员信息:
管理员、密码;
●普通用户:
学号、用户名、电话、地址、密码;
●商品:
商品编号、商品名称、单位、单价、存货
●订单表:
订单生成时间、订单号、买家姓名、商品名称、单价、数量、合计、电话、地址、发货状态。
建立表之间的关系:
(四)数据流图
1>顶层数据流图
2>第二层数据流图
3>第三层数据流图
(五)工作流程图
(六)系统功能模块划分
用户界面的系统功能模块图如下图所示:
管理界面的系统功能模块图如下所示:
三、概念模型设计
由上述需求分析得出的数据项和数据结构之后,就可以设计出能够满足用户需求的各种实体以及他们之间的关系,为以后的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
该课题需要的实体为:
管理员信息实体、普通用户信息实体、图书实体、图书分类实体、订单实体、订单列表实体。
◆管理员信息实体E—R图,如下所示:
◆普通用户信息实体E—R图,如下所示:
注:
用户信息的属性有很多,在此不一一列举。
◆图书实体E—R图,如下所示:
注:
商品实体的属性有很多,在此不一一列举。
◆图书分类实体E—R图,如下图所示:
注:
本实体属性很多,在此仅列举出几个属性。
■各实体之间关系的E—R图,如下图所示:
总的E—R图如下所示:
客户篇
选择界面,若用户为购买者,且之前没有在此平台上注册过,则点击”还没注册?
点击这里”的按钮,进入用户注册界面.
进入用户注册界面,填写用户基本信息,若填写信息不完整,报错,如下图红圈内所示.
完整填入客户信息。
注册成功,重新进入选择页面,点击”购买者”进入登陆界面.
在登陆界面正确输入自己用户名和密码。
进入到购买页面,选择自己喜欢的的商品(可翻页),在”商品名称”处填写要购买的商品名称(可以不输入商品的全称,此处用的模糊查询),点击”查询”,可以看商品的详细信息.(也可跳过这个步骤直接填写数量购买)。
在购买数量”处填写要购买的商品数量。
商品购买成功,确认商品信息或者个人信息是否正确,并且查看相关航大小吃相关信息。
返回查询页面可看到该商品存货已经减去购买者购买的数量。
(22-3=19)
管理篇
若用户为管理者,点击“管理者”进入管理者登陆界面。
在登陆界面正确输入自己用户名和密码。
进入到管理页面,可查看所有的商品(可翻页)。
卖家进入界面肯定急迫的想知道今天都卖出去那些东西了,所以点击“订单查询”查看订单信息。
进入到订单查询页面,可以看到刚才名为“刘静”的客户购买的商品信息。
点击“发货”,则与此相关的订单信息的“状态”由空变为“已发货”。
返回管理界面,点击“增加商品”,进入到增加商品界面。
进入到“增加商品”界面,输入增加商品的详细信息。
跳转返回管理界面,翻到最后一页,可看到刚刚增加的商品信息。
在”商品名称”处填写要购买的商品名称(可以不输入商品的全称,此处用的模糊查询),点击”查询”,可以看商品的详细信息.
点击“编辑”,进入到商品编辑界面。
在此界面修改商品信息。
下图可看到商品修改后的信息。
若要删除某个商品,点击“删除”即可删除该商品全部信息。
主要代码篇
选择页面主要类:
Response.Redirect("页面名.aspx");
算法:
“管理者”键
{
跳转到"hostlog.aspx"界面;
}
“购买者”键
{
跳转到"clientlog.aspx"界面;
}
“还没注册?
?
点击这里!
!
”键
{
跳转到"register.aspx"界面;
}
}
注册页面主要类:
SqlConnectionmyConn=newSqlConnection(connStr);
stringmySql="insertinto个人信息(sno,sname,tele,addr,password)values('"+sno+"','"+sname+"','"+tele+"','"+addr+"','"+password+"')";
算法:
“保存”键
{
定义学号、姓名、电话、地址、密码等;
连接到数据库相应表;
将以上信息存入数据库;
重新跳转到"choice.aspx"页面;
}
客户登陆页面主要类:
SqlConnectionmyConn=newSqlConnection(connStr);
stringmySql="select*from个人信息wheresname='"+Login1.UserName+"'and"+"password='"+Login1.Password+"'";
Session["sname"]=Login1.UserName;//获取用户名,以便其他页面使用
if(myDr.Read())
{
Response.Redirect("wmainclient.aspx");
}
算法:
使用登陆控件
{
连接到数据库“个人信息”表;
用数据库中的用户信息登录;
获取用户名,以便其他页面使用;
如果验证成功
{
跳转到"wmainclient.aspx"页面;
}
关闭数据库
}
}
客户购物界面主要类:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
gridviewbind();
}
}
privatevoidgridviewbind()
{
SqlDataAdaptermyDa=newSqlDataAdapter("select*from小吃表",myConn);
GridView1.DataSource=myDataSet.Tables[0];
GridView1.DataBind();
myConn.Close();
}
protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
GridView1.PageIndex=e.NewPageIndex;
gridviewbind();
}
protectedvoid查询_Click(objectsender,EventArgse)
{
SqlDataAdaptermyDa=newSqlDataAdapter("select*from小吃表where项目名称like'%"+TextBox1.Text+"%'",myConn);
}
protectedvoid确定购买_Click(objectsender,EventArgse)
{
Response.Redirect("done.aspx?
hname="+商品名称+"&&amount="+TextBox2.Text);
}
算法:
连接到数据库“小吃表”表;
使用控件gridviewbind;
privatevoidgridviewbind()
{
将数据库相应值按照gridviewbind表中定义的数据绑定到gridviewbind相应列;
}
实现翻页功能
{
用gridviewbind的e.PageIndex=e.NewPageIndex实现;
}
“查询”键
{
使用模糊查询,用语句"select*from小吃表where项目名称like'%"+TextBox1.Text+"%'",myConn;
}
“确定购买”键
{
跳转页面到"done.aspx”,并把商品名称和购买数量参数传递到”done”界面;
}
确定购买界面主要类:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
hname=Request["hname"];
amount=Request["amount"];
stringSname=Session["sname"].ToString();
Label.Text=xxx;//显示相关信息
//从数据库获得对应商品或者购买者信息
SqlDataAdaptermyDa=newSqlDataAdapter("select*from小吃表where项目名称like"+"'%"+hname+"%'",myConn);
GridViewRowrow=GridView1.Rows[0];
price=Convert.ToInt16(row.Cells[3].Text);
hno=row.Cells[0].Text;//获得商品编号
Hname=row.Cells[1].Text;//获得准确商品名称
unit=row.Cells[2].Text;//获得单位
total=Amount*price;//获得总价
newstock=stock-Amount;//获得新存货
……
DateTimenow=DateTime.Now;//获得时间
//将订单信息存入“订单查询表”
stringmySql3="insertinto订单查询(订单生成时间,订单号,买家姓名,项目名称,单价,数量,合计,电话,地址)values('"+now+"','"+orderid+"','"+Sname+"','"+Hname+"','"+price+"','"+Amount+"','"+total+"','"+tele+"','"+addr+"')";
//将存货减去购买数量
stringmySql4="update小吃表set存货='"+newstock+"'where项目名称like"+"'%"+Hname+"%'";
}
}
算法:
定义各种参数及变量
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
得到从"wmainclient.aspx"页面传来的“商品名称”;
得到从"wmainclient.aspx"页面传来的“购买数量”;
连接到数据库“小吃表”表;
用"select*from小吃表where项目名称like"+"'%"+hname+"%'",myConn得到对应商品
用GridViewRowrow=GridView1.Rows[0];
price=Convert.ToInt16(row.Cells[3].Text)获得单价,即对应商品在数据库中的相应表设计表的第几行,从0开始计数;
用相同方法获得商品编号,获得准确商品名称,获得单位。
用商品数量*单价获得总价
用存货–购买数量获得新存货
打开数据库中另一个表“个人信息“表
同样,用以上方法获得订单号(学号),获得电话,获得住址
用DateTimenow=DateTime.Now获得订单生成时间
将订单信息存入“订单查询表”
"insertinto订单查询(订单生成时间,订单号,买家姓名,项目名称,单价,数量,合计,电话,地址)values('"+now+"','"+orderid+"','"+Sname+"','"+Hname+"','"+price+"','"+Amount+"','"+total+"','"+tele+"','"+addr+"')";
将存货减去购买数量
stringmySql4="update小吃表set存货='"+newstock+"'where项目名称like"+"'%"+Hname+"%'";
并在设计界面的Lable相应属性位置,用Label.Text=xxx的方法显示购买者,订单生成时间,订单号,买家姓名,项目名称,单价,数量,合计,电话,地址等信息;
}
}
管理登陆页面主要类:
SqlConnectionmyConn=newSqlConnection(connStr);
stringmySql="select*from管理者信息wheresname='"+Login1.UserName+"'and"+"password='"+Login1.Password+"'";
if(myDr.Read())
{
Response.Redirect("wmainhost.aspx");
}
算法:
使用登陆控件
{
连接到数据库“管理者信息”表;
用数据库中的用户信息登录;
如果验证成功
{
跳转到"wmainhost.aspx"页面;
}
关闭数据库
}
商品管理界面代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
gridviewbind();
}
}
privatevoidgridviewbind()
{
SqlDataAdaptermyDa=newSqlDataAdapter("select*from小吃表",myConn);
}
protectedvoid增加商品_Click(objectsender,EventArgse)
{
Response.Redirect("workadd.aspx");
}
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
//从GridView表中商品编号的位置得到该参数
string商品编号=GridView1.Rows[e.RowIndex].Cells[0].Text.ToString();
stringmySql="deletefrom小吃表where商品编号='"+商品编号+"'";
Response.Redirect("wmainhost.aspx");
}
protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
GridView1.PageIndex=e.NewPageIndex;//翻页功能
gridviewbind();
}
protectedvoid查询_Click(objectsender,EventArgse)
{
SqlDataAdaptermyDa=newSqlDataAdapter("select*from小吃表where项目名称like'%"+TextBox1.Text+"%'",myConn);
}
protectedvoid增加商品_Click(objectsender,EventArgse)
{
Response.Redirect("workadd.aspx");
}
protectedvoid订单查询_Click(objectsender,EventArgse)
{
Response.Redirect("order.aspx");
}
算法:
连接到数据库snack;
使用控件gridviewbind;
privatevoidgridviewbind()
{
将数据库相应值按照gridviewbind表中定义的数据绑定到gridviewbind相应列;
}
删除功能
{
用delete语句将相应行从数据库中删去
(stringmySql="deletefrom小吃表where商品编号='"+商品编号+"'";)
跳转回"wmainhost.aspx"页面;
}
编辑功能在拆分中添加代码实现;
实现翻页功能
{
用gridviewbind的e.PageIndex=e.NewPageIndex实现;
}
“查询”键
{
使用模糊查询,用语句"select*from小吃表where项目名称like'%"+TextBox1.Text+"%'",myConn;
}
“确定购买”键
{
跳转页面到"done.aspx”,并把商品名称和购买数量参数传递到”done”界面;
}
“订单查询”键
{
跳转到"order.aspx"页面;
}
增加商品界面主要类:
protectedvoid保存_Click(objectsender,EventArgse)
{
stringmySql="insertinto小吃表(商品编号,项目名称,单位,单价,存货)values('"+hno+"','"+hname+"','"+hunit+"','"+hprice+"','"+stock+"')";
Response.Redirect("wmainhost.aspx");
}
算法:
“保存”键
{
定义各种变量
连接到数据库“小吃表”表;
将各变量存入到数据库中;
跳转到("wmainhost.aspx"页面;
}
编辑商品信息主要类:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
stringhno=Request.QueryString["商品编号"];
stringmySql="select*from小吃表where商品编号='"+hno+"'";
if(myReader.Read())
{
……(读取编辑页面各信息值)
}
myReader.Close();
myConn.Close();
}
}
protectedvoid保存_Click(objectsender,EventArgse)
{
stringmySql="update小吃表set项目名称='"+hname+"',"+"单位='"+hunit+"',单价='"+hprice+"',"+"存货='"+stock+"'where商品编号='"+hno+"'";
Response.Redirect("wmainhost.aspx");
}
算法:
连接到数据库snack;
protectedvoidPage_Load(objectsen
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库课设试验报告 全面网络商店 数据库 试验报告 全面 网络 商店