电影销售管理系统.docx
- 文档编号:26787421
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:31
- 大小:41.52KB
电影销售管理系统.docx
《电影销售管理系统.docx》由会员分享,可在线阅读,更多相关《电影销售管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
电影销售管理系统
电影销售管理系统
SANYGROUPSyStemOffiCeroom[SANYUA16H-
电影售票预定系统档案
-・摘要
随着人们生活水平的不断提高,人们生活的消费和需求也越来越旺盛。
电影院售票系统可以实现影片的登记和电影票的购买,可以方便的进行电影以及实时影票信息的查询等,从而做到方便的售票操作,方便了工作人员的同时也让顾客能够轻轻松松地买票,我们的宗旨是一个字:
快!
;两个字:
便捷。
因此,该系统主要根据实际需求,划分了电影信息管理,每场电影的坐位信息管理,每个电影的预定情况,并选用ViSUaIStUdiO.NET2008开发工具和
SQLSerVer2005数据库,采用B/S模式实现了从客户来访、报你订购等多个环节数据的跟踪管理服务,基本上满足了电影销售管理流程。
关键词:
销售管理;B/S模式;数据库;.NET
12定义:
查询:
对数据库的操作的一种,用于搜索数据信息。
插入:
对数据库的操作的一种,用于将数据存入数据库中。
更新:
对数据库的操作的一种,用于更改数据库中的数据信息。
软件结构图:
反映软件系统的功能模块之间的关系的数据图。
二・电影售票预定系统的需求分析
2.1系统需求
本电影售票预定系统是一个协助影院进行全面管理的一个信息管理系统。
本管理系统在实现上应满足以下需求:
1.能达到网站和影院间的无缝链接和数据的共享。
2.为系统提供数据支持。
3•不同级别的用户拥有相应的权限使用该系统,从而大大提高了系统的安全性和管理效率。
首先将电影信息入库,然后影院通过与客户的交易活动,将相关信息存入库,然后影院通过销售信息的查询获得电影票销售的情况,通过库存查询获得影院目前的剩票情况。
由此可分析系统需要达到以下目标:
1•能很好地完成电影票售前管理。
售前管理包括影院信息,电影场次,电影片名信息的入库作业。
2.能详细地记录影院和客户的交易过程,即订票或退票的情况。
3.能详细地记录电影场次跟票数量的关系,即某场的电影和剩余票的关系。
4•能及时准确地获得影院和市场的需求。
即通过对电影场次,片名及票务销售的情况信息查询获得相应的结果,以备公司作为参考,从而安排更好的电影场次。
5.能够对各场电影票销售的情况进行相应的记录。
包括对订票,退票,修改等。
6.能够对不同权限的用户进行合理的管理。
包括添加用户,删除用户,用户账号和密码管理等。
2.2数据字典描述
数据字典是各累数据描述的集合。
对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
其中数据项是最小的组成单位,若干个数据项可以组成一个数据结构,数据字典对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。
数据本身将存在物理数据库中,由数据库系统管理。
数据字典有肋于这些数据的进一步管理和控制,为设计人员和数据库管理员在数据库设计、实现和运行阶段控制有关数据提供依据。
2.3程序描述
各功能详细描述:
本系统主要用于电影票预订,所以提供了以下几个子功能:
用户注册,用户登陆,电影详细内容,生成订单,退订订单,付款,以及后台方面的电影的添加,以及电影的查询等后台功能。
1、用户注册:
新用户可以通过注册会员来登陆。
2、用户登陆:
登陆后的会员才能进行购票,查询订单。
3、电影详细内容:
点击进入后可以查看电影的详细信息。
包括:
时长,价格,上映的时间等。
4、生成订单:
该项功能提供用户选择购买电影票的数量,及取消订单等操作。
5、退订功能:
会员可以选择是否取消已经生成的电影订单。
6、付款:
此页面用户可以选择付款方式,并最终确定订单的生成。
7、后台电影的添加:
该功能只有机场管理员有权力操作,管理员可以通过
影院电影场次的安排来増加电影的内容,信息等操作。
三・概念结构设计
3.1软件结构:
↑
3∙2e∙r图向关系模型转换:
电影售票预定系统的基本E-R图
F面分别介绍表的结构:
1电影表结构
编号
字段名称
结构类型
大小
说明
1
电影编号
Int
主键
2
电影名
Char
20
主键
3
价格
MOney
不允许为空
4
时长
Char
10
不允许为空
5
上映时间
Datetime
允许为空
6
电影简介
Char
200
不允许为空
7
票数
Int
不允许为空
8
图片
Char
60
不允许为空
2订单表结构
编号
字段名称
结构类型
大小
说明
1
订单编号
Int
主键
2
会员名
Char
20
不允许为空
3
订单日期
Datetime
20
不允许为空
4
发货方式
Char
20
不允许为空
5
付款方式
Char
20
不允许为空
6
总金额
FIOat
不允许为空
7
是否发货
Bit
不允许为空
8
备注
NeXt
允许为空
3购物车表结构
编号
字段名称
结构类型
大小
说明
1
购物车编号
Int
不允许为空
2
会员名
Char
12
外键
3
电影编号
Int
不允许为空
4
数量
Int
不允许为空
4管理员表结构
编号
字段名称
结构类型
大小
说明
1
用户名
Char
20
不允许为空
2
密码
Char
32
不允许为空
3
权限
Int
不允许为空
5会员表结构
编号
字段名称
结构类型
大小
说明
1
会员名
Char
12
不允许为空
2
名字
Char
20
不允许为空
3
密码
Char
32
不允许为空
4
性别
Char
2
允许为空
5
出生日期
Datetime
允许为空
6
联系地址
nchar
60
不允许为空
7
联系电话
Char
13
不允许为空
8
邮政编码
Char
6
不允许为空
6详细订单表结构
编号
字段名称
结构类型
大小
说明
1
订单编号
Int
外键
2
会员名
Char
12
不允许为空
3
电影编号
Int
不允许为空
4
数量
Int
不允许为空
3-3源程序代码
创建数据库电影售票
创建6个表,两个视图
创建电影表
USE[电影售票]
GO
/******对象:
TabIe[dbo]・[电影表]脚本日期:
12/23/201115:
57:
34******/
SETANST_NULLS0N
GO
SETQUOTED-IDENTIFIERON
GO
SETANSI-PADDINGON
GO
CREATETABLE[dbo]・[电影表](
[电影编号][in七]NOTNULS
[电影名][char](20)NULLZ
[价格][money]NULL,
[时长][char](IO)NULL,
[Jzβ⅛⅛∣x≡l][datetime]NULL,
[电影简介J[char](200)NULLz
[票数][int]NULL,
[图片][char](60)NULL
)ON[PRIMARY]
创建订单表
CREATETABLE[dbo]・[订单表](
[订单编号][int]NOTNULL,
[会员名][char](20)NULL,
[订单日期][datetime]NULL,
[发货方式][char](20)NULL,
[付款方式][char](20)NULLZ
[总金额]NULLj,
[是否发货J[bit]NULL,
[⅛}i][ntext]NULLλ
CONSTRA工NT[并_订单表]PRIMARYKEYCLUSTERED
(
[订单编号MSC
)WITH(PAD-INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE-DUP-KEY=OFF,ALL
OW-ROW-LOCKS=ONZALLOW-PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]TEXTIMAGEeON[PRIMARY]
创建购物车表
CREATETABLE[dbo]・[购物车表](
[购物车编号][int]NOTNULL,
[会员名][char](12)NULL,
[电影编号][int]NULL,
[数≡][int]NULL,
CONSlrRA工NT[PK_购物车表]PRlMARYKEYCLUSTERED
(
[购物车编号]ASC
)WITH(PAD-INDEX=OFF,STATISTlCS_NORECOMPUTE=OFFzIGNORE-DUP-KEY=OFFZALLOW-ROW_LOCKS=ONZALLOWePAGE-LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
创建管理员表
CREATETABLE[dbo]・[管理员表](
[用户名)[char](20)NOTNULLZ
[密码)[char](32)NULL,
[权限][int]NULL
)ON[PRIMARY]
创建会员表
CREATETABLE[db0]・[会员表](
[会员名][char](12)NOTNULLZ
[名字][char](20)NULL,
[密码][char](32)NULLZ
[性别][chaj
(2)NULLZ
[出生日期][dat毗imm]NU二二,
[联系地址J[nchar](60)NULLZ
[联系电话][char](13)NULL,
[邮政编码][char](6)NULLZ
CONSTRA:
ENT[PK_会员表]PRIMARYKEYCLUSTERED
(
[会员名MSC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFFZIGNORE-DUP_KEY=OFF,ALL
OW_ROW-LOCKS=ONZALLOW-PAGE-LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
创建详细订单表
CREATETABLE[dbo]・[详细订单表](
[订单编号][int]NULL,
[会员名][char](12)NULLZ
[电影编号][int]NULLr
[∣>(≡][int]NULL
)ON[PRIMARY]
创建购物车视图
SETANSI-NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
ALTERVIEW[dbo]・[购物车视图)
SELECTdbo.购物车表・购物车编号,dbo.购物车表•会员名Zdbo.购物车表•电影编号,dbo.购物车表•数量,db。
•电影表•电影名,dbo.电影表•价格
FROMdbo・购物车表工NNWRJOTN
dbo.电影表ONdbO.购物车表.电影编号=dbo.电影表.电影编号
创建详细订单视图
ALTERVIEW[dbo]・[详细订单视图]
AS
SELECTdbO.订单表・订单编号,dbo.订单表・会员名,dbo.订单表・发货方式,dbo.订单表・订单曰期,dbo.订单表.付款方式,dbo.订单表.是否发货,dbo.订单表.备注,
CibO.详细订单表•数量,dbo.详细订单表•电影编号,Cibo.电影表•电影名,dbo.电影表.价格,dbo・订单表・总金额
FROMdbO・订单表:
ENNERJOHN
dbo.详细订单表ONdbO.订单表•订单编号二dbo・详细订单表•订单编号INNΞRJOIN
dbo.电影表ONdbo.详细订单表•电影编号=dbo.电影表.电影编号
存储过程
ALTERPrOCedUre[dbo][添加电影计划]
@电影编号int,
@电影名Cha工20
@价格monmy
@时长ChaM10
@上映时间da*time
@电影简介Char(200).
@票数in匕,
@图片Cha工60
@返回值ChaM50OUtPUt
as
begin
ifSeIeCtJoUNTfrom电影表WhEME电影编号@电影编号0
set®返回值"库中已有,请先重新信息,
re,turn-l
end
insmrtinto电影表
VaIUeS@电影编号,<3电影名,@价格飞时长飞上映时间,@电影简介,@票数@图片
S比@返回值二■添加成功■
retUrnI
网页界面
定义一个DB类
UsingSystem;
USlngSyStem・Data;
USlngSyStem・COnfigUration;
USlngSyStem・Web;
USlngSyStem・Web・Security;
USlngSyStem・Web・UI;
USlngSyStem・Web・UI・WebControls;
USlngSyStem・Web・UI・WebCOntrOlS・WebPartS;
USlngSyStem・Web・UI・HtmICOntrOIS;
USlngSyStem・Data・SqIClIent;
//∕
//∕DB的摘要说明
///
PUbliCClaSSDB
{
PUbliCSqlCOnneCτionCon=newSqlConnectionO;
PUbIiCSqlCoι≡andCom=newSq1COmlnand();
PUbliCSqlDaXaAdapterDa=HewSqlDataAdapterO;
PUbIiCDataSetDs≡≡newDataSet();
PUbIiCDBO
{
//
//TODO:
在此处添加构适函数逻辑
//
}
//定义一个用于返回数据库连接字符串的方法
PUbIicSxnHgGetConneCtlOnString()
{
StringConStr;
COnStr=β,DaτaSource=.∖SQL2005;InitialCaxalog=电彩竹
票:
PerSiStSeCUritylnfO=TrUe;USerID=sa;PaSSWOrd=SqI2005*;returnConStr;
}
//定义一个用于返回数据集的公共査询方法
PUbIiCDataSetGeXDataTableBySql(SxringSqlStr)
{
Con.COnneCtiOnString=GeτConnectionString0;
COm・COnneCtiOn=Con;
COm・COmlnandTeXt=SqIStr;
Da・SeIeCtCOmmand=Com;
try
{
Ds.Clear();
COn・OPenO;
Da.Fill(Ds);
COn・CIOSeo;
}
CatCh(SqlEXCePtiOn)
COn・CIOSeo;
}
returnDs;
}
PUbIiCbOOIGetBOOlBySqI(StrlngSqIStr)
{
COn・ConneCtiOnString=GeτConnectionStringO;
COm・ConneCtiOn=Con;
COm・COmmandTeXt=SqIStr;
Da・SeleCtCOInnland=COm;
try
{
Ds.ClearO;
COn・OPen();
Da.FilI(DS);
COn・CIOSeo;
}
CatCh(SqlEXCePtiOn)
{
COn・CIOSeo;
}
if(Ds.TabIeS*0].Rows.COUnt!
=0)
returntrue;
else
returnfalse;
}
〃定义一个用干返回执行数据见新操作是否成功标忐的方法
PUb1icδoOIeanUPdateDataBySq1(Strin,5SqlStr)
{
Con.COnneCtiOnString=GetCOnneCtiOnStringO;
COm・COnneCtiOn=Con;
Com.COmlnandTeXt=SqIStr;
try
{
COn・OPenO;
Com.EXeCUteNOnQUeryo;
COn・CIOSeo;
returntrue;
}
CatCh(SqlEXCePtiOn)
COn・CIOSeo;returnfalse;
}
}
}
主界面有购物车,订单査询,账号登陆,电影信息显示,管理员登陆
账号登陆
PrOteCtedVoidBUttOnI-CIiCk(ObjeCtSenderJEVentArgSe)
SqlStr=,*select*from会员表Where会员名='"÷thιs.TextBoxl.Text+"'and密码
=,"十this.TeXtBOx2.Text+"'";
Ds=db.GetDataTableBySqI(SqIStr);
try
{
if(Ds.TablesLO].Rows.COUnt==O)
{
this.Labell.Text≡^用户名或密码错误,请重试!
this・TeXtBOX1・FOCUSO;
}
else
{
this.Labell.Tert="用户"十this.TextBoxl.Text+"恭喜您登录成功!
;
SeSSiOn["UserXamezz]=thιs・TeXtBOX1・Text;
}
}
CatCh(EXCePτion)
{
this.Labell.Text="没有得到任何数据,请重试!
}
}
注册用户
ProxectedvoidbtneRegiSter-CliCk(ObjeCtSender,EVentArgSe)
{
StrlngMd5-User-PWd=FOrmSAUthentiCation.HaShPaSSWOrdFOrStOrlnglnCOnfigFιIe(this・txt-User-Pwd.Text,"MD5");
DBdb=newDB();
SqICOnneCtIOnCOnn=newSqlConnection(β"DataSource=.∖SQL2005;InitiaICataIOg=
;PerSiStSeCUrityInfO=True;USerlD=sa;PaSSWOrd=Sql2005A,);
COnn・OPen();
StringSqlStr^inSertinto会员表(会员名,密码,名字,性别,岀生日期,联系地址■邮政编码,联系电话)"+"values(,'÷thιs・txtβUser-Name・Text*"','+Md5_USer-PWd+,'"十this・txt_ReI-Name・Text+"',"+"'"+this・DDL-SeX・SeleCtedltem・Text+"','"+this・DDL-Year・SeIeCtedltem・Text+'"
+this・DDl-MOnth・SeIeCtedltem・Text+"-"+this・DDL_Day・SeIeCtedltem・Text+"',"
+"'"+this・txt-Address・TeXt,'"+this・txt-Postalcode・Text+"','"+this・txt-Te1・Text+"')";
BOOIeanInSertReSUlt;
SqICOmmandCmd=newSqlCommand(SqlStrtCOnn);
inti=Converx.TOInt32(Cmd.EXeCUteNonQueryO);
if(i==l)
{
this.Labinfo.Text="恭喜您注册成功!
";
}
else
{
this.Labinfo.Text=*对不起∙注册失败,请重试!
";
this・txtβUSer-Naine・FOCUSO;
}
}
显示电影
register・aspx:
DaxaListID=zzDataListl^runat="server"RepeatColumns=^5"Wldth="768PXZZ OnSeleCtedlndeXChanged="DataListl-SelectedIndexChanged*> <ιmgwιdth=80heιght=lIOSrC=,<‰;DataBlnder.EVal(Container.DataItem,"图片><∕a><∕td> <∕tr> <⅝^DataBinder.EVaI(Container.Datalteml电影名,)%><∕a> <∕td> <∕tr> <∕table> <∕ItemTemplate> <∕asp: DataList> 数据库调用CS代码 SqIStr=SeIeCt*from电影表"; Ds=db.GetDataTableBySqI(SqIStr); try { if(Ds.TabIeS[θ].Rows.COUnt! =0) { this.DaxaListl.DataSource=Ds.TableS[θ].DefaultView; this・DataLiSt1・DataBindO; } } CatCh(EXCePtiOn) { Response.WriteC
copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1