您的当前位置:首页正文

影院售票系统的设计实现分析

2023-06-13 来源:易榕旅网
-

-

影院售票系统的设计与实现

摘 要

随着社会的开展,计算机的普及,计算机应用技术在我们的生活中起着越来越重要的作用,计算机的方便性、高效性日益突出。

在影院售票过程,从电影信息的添加,放映厅的安排,到影票的销售及统计,大量的工作都需要处理得井井有条,稍有错误就会给影院造成许多不必要的损失。然而,面对复杂的管理,仅仅依靠人力来完成这些工作已经不能满足日益增长的需求,“影院售票系统〞就是为解决这个问题而设计的。

通过分析知道,电影售票系统包含电影的添加、删除、管理与销售、统计等过程,怎样使这些过程快速有效的进展是我们首要解决的问题。

“影院售票系统〞主要是针对这些问题来进展设计的。系统的主要功能包括: 1. 管理员对电影信息的添加、电影信息的修改与删除、票价的折扣管理和对当天影票销售的统计;

2. 售票员对近期影票的销售、退票、订票的处理和会员的添加与管理; 3. 前台界面展示近期电影的详细信息与查询结果; 4. 会员登录实现在线购票和预订等。

系统架构为C/S,采用面向对象分析与设计方法进展系统的分析与设计,系统的实现采用Visual Studio 2008平台下的C#开发语言,数据库使用SQL Server 2005。

关键词:影院,售票,C#,SQL Server 2005

THE DESIGNANDIMPLEMENTATIONOF CINEMA

TICKETING SYSTEM

- word.zl.

-

-

ABSTRACT

With the development ofsociety, the puter was popularize, puter application technology in our life plays a more and more important role, the puter’s convenience and efficiencyis more and more serious.

In the cinema’s ticketing process, begin with film’s information add, and themovie house’s arrangement, ticket sales and the sale’s statistics, a large of work have to doing perfect order , a little mistake will be caused many unnecessary loss. However, face the plex management, just rely on human have already can't satisfy with the growing demand, In order to solve this problem, so design the \" Cinema Ticketing System\".

With the analysis we know that how solve the problem to add, delete, management and sales is our top priority.

\"Cinema Ticketing System\" is mainly aimed at these problems to the design. The main functions of this system include:

1.The administrator could add and delete the films, set the ticket price discount and statistic the sales.

2.The Salesmancould sale and deal with tickets, deal with the bookingtickets, to add and managementthe member.

3.Client of system could show detailed information of film and show result of querying.

4.The Member could login and buy tickets or book tickets.

This system’s framework is C/S. This system’s analysis and design methodis Object-oriented. This system’s realization is under the Visual Studio 2008 platform and the language is C# and the database is SQL Server 2005.

KEY WORDS:Cinema, Ticketing, C#, SQL Server 2005

- word.zl.

-

-

目 录

前 言1 第1章绪论2

1.1 工程开发背景2 1.2 工程开发工具2 第2章系统分析3

2.1 系统功能需求分析3 2.2 系统用例图4 第3章系统构造设计6

3.1 系统功能模块划分6

3.1.1 权限划分6

3.1.2 前台界面功能设计7 3.1.3 销售端功能设计8 3.1.4 后台管理功能设计9 3.2 数据库设计10

3.2.1 数据库概念设计10 3.2.2 数据库物理设计11

第4章系统功能实现15

4.1 系统功能选择15 4.2 前台界面功能实现15

4.2.1 电影详细信息浏览15 4.2.2 放映信息查询15 4.2.3 会员登录界面16 4.2.4 会员购票界面17 4.3 管理与售票功能实现18

4.3.1 管理员及售票员登录界面18 4.3.2 电影信息管理实现18 4.3.3 售票功能实现19

- word.zl.

-

-

第5章系统测试21

5.1 测试环境21 5.2 功能测试21

5.2.1 会员购票测试22 5.2.2 售票测试22 5.3 使用手册23 结论24 辞25

参考文献26 附 录27

- word.zl.

-

-

前 言

随着社会的开展,计算机在我们的生活中起着越来越重要的作用,办公自动化已是不可阻挡的趋势,如何在一定时间高效地完成一项工作是我们生活中追求的一个目标。日常生活中,越来越多的问题我们通过计算机来解决,当然,在影院售票的过程中,我们能利用一个非常简单有效的影院售票系统来实现售票的自动化是最好不过的。提高工作效率,解决复杂的管理问题是我们共同的目的。本文即以自我设计的“影院售票系统〞,来介绍“影院售票系统〞的设计与实现。

本系统按照简单、明了、高效的思想来设计影院在日常售票与影片信息管理中遇到的一些问题。首先,对于售票的问题,实现灵活的售票方式,采用会员在线购票或者预订座位及售票员根据客户的要求选择客户所选座位的位置以实现售票的目的,简化购票流程,从选择影片到选择座位位置,然后到出票,全部过程只需通过鼠标的点击即可完成复杂的售票工作,大大提升了工作效率。当然,对影片信息的管理是必不可少的,影片信息的添加、删除,影票折率的设定及对影票销售的统计构成了后台的管理,管理员可以一一对每个模块进展管理。另外,为了更好地让顾客了解最新的电影放映情况,前台界面提供影片信息的详细查看和近期电影放映的安排,让“影院售票系统〞更人性化。

“影院售票系统〞的设计采用Visual Studio 2008为开发平台,C#.NET为开发语言,采用结合SQL Server 2005数据库的平安高效性,更好的提高系统效率。

限于自身水平,作品还有缺乏之处,恳请批评指正。

- word.zl.

-

-

第1章 绪论

本论文以“影院售票系统〞为开发背景,论文论述了“影院售票系统〞的概念、构造以及系统开发的根本原理和方法,整篇论文分为前言、绪论、系统需求分析、系统构造设计、系统功能实现、系统性能测试、总结、参考文献和附录九局部组成。

1.1工程开发背景

随着计算机的日益普及,更多的工作我们要交给计算机来完成,这样不仅节省人力物力,而且更重要的是能够大大提高我们完成工作的效率,在21世纪,提高效率就意味着更好的增加收益。我国在全国围推广计算机的应用虽然比拟晚,但是近些年来开展迅速,计算机已经融入到我们生活中的方方面面,比方我们获取新闻、日常购物、火车票的预订等等,这些与我们日常生活息息相关的事情,我们都可以用计算机来完成。

对于电影院来说也不例外。影院售票与日常影片信息管理看似是一件容易的事情,但是实际操作请来还是非常的麻烦,要花费大量的精力来对影票进展核实、对每个座位进展排查等,这些都是一些枯燥而繁杂的工作。能够在日常的售票管理中节省人力物力,提高售票、管理的效率是很重要的。一款适合于电影院的影院售票系统,能够大大提高电影院售票管理日常工作效率,本软件就是为了此目的而进展设计制作的。

1.2 工程开发工具

“影院售票系统〞使用Microsoft Visual Studio 2008开发平台,C#.NET为开发语言,SQL Server 2005数据库作为系统数据库。

- word.zl.

-

-

第2章系统分析

本章主要介绍“影院售票系统〞的功能需求分析和数据库的设计分析。

2.1系统功能需求分析

在日常生活中,闲暇时间带着家人、陪着朋友去电影院看一场电影,冶一下情操已成为越来越多人的选择,电影市场在我国的比重随着社会的开展不断的扩大,人们对电影文化的关注度不断提升,这样就更加刺激了电影市场的开展,电影院在每个城市都不断建立,而这时,一款良好的影院售票管理软件的出现无疑给影院的开展添加一抹亮丽的风景。

“影院售票系统〞的设计初衷是简化影院售票流程、提高售票效率、提升影院对影片的管理质量,开发系统的目的是为了更好的促进影院管理规化及操作的简易化。从节省人力物力的角度出发,本着方便实用的原那么,为影院设计一款简单、方便、易操作的售票管理系统,为影院的售票、影片管理提供一个良好的平台。

“影院售票系统〞即为影院优化售票流程,提高管理质量而进展设计的。系统的主要功能包括:

1. 管理员对电影信息的添加、电影信息的修改与删除、票价的折扣管理和对当天影票销售的统计;

2. 售票员对近期影票的销售、退票、订票的处理和会员的添加与管理; 3. 前台界面展示近期电影的详细信息与查询; 4. 会员登录实现在线购票和预订等;

系统的设计要注重易操作性和高效性,方便售票员和顾客使用。售票界面要直观,能够清晰显示放映厅的座位分布及某场电影已销售影票情况。系统可提供会员管理功能,根据会员级别提供打折优惠。系统模块图如图2-1所示。

- word.zl.

-

-

影院售票系统售票管理后台管理会员购票影院售票退票处理订票处理会员充值会员办理添加电影删除电影设置票率销售统计效果查看在线购票在线订票查看信息图2-1 系统模块图

2.2系统用例图

用例图主要用来图示化系统的主事件流程,用来描述系统的需求及各个模块以及它们之间的关系,观察用例图可以更方便地看出系统的大体构造及功能。

1. 管理员用例图,如图2-2所示。

管管管管管管管管管管管管管管管管管管管管管 图 2-2 管理员模块用例图

2. 售票员用例图,如图2-3所示。

- word.zl.

-

-

管管管管管管管管管管管管管管管管管管管管管管管管管

图 2-3 销售员模块用例图

3、会员用例图,如图2-4所示。

管管管管管管管管管管管管管管管管

图 2-4 会员模块用例图

- word.zl.

-

-

第3章系统构造设计

3.1系统功能模块划分

本系统的主要功能是通过PC机的窗体应用程序来实现对某影院电影票的预订、销售等业务。

影院售票系统主要功能包括电影信息管理、售票管理和会员在线购票等功能,系统流程图如图3-1所示。

开始功能选择后台登录前台使用登录模式管理员登录售票员登录会员登录电影信息管理售票管理在线购票结束 图 3-1 系统功能流程图

3.1.1权限划分

1.顾客:通过前台界面顾客可实现电影信息查询浏览,会员在线购票、预订影票等功能;

2. 售票员:通过售票窗口可实现售票员卖票、出票、退票等操作,会

- word.zl.

-

-

员可凭会员证领取预订影票,同时实现新会员的注册、充值等功能;

3. 管理员:管理员通过登录后台可使用添加、删除电影信息,设定票价、设定优惠措施及统计当天售票的详细信息等功能。

3.1.2前台界面功能设计

1. 影院售票系统提供近两天的放映信息,在首页面顾客可以看到电影放映的安排信息,也可看到影院的一些公告和优惠等信息。

2. 在电影查询界面,系统提供按日期查询、按放映厅查询及电影名称关键字查询等,查询结果将以详细信息的方式显示。

3. 提供会员在前台界面登录实现电影票的订购操作;假设会员实现在线支付那么凭刷会员卡入场,入场时影院根据会员购置座位号提供纸质座位号信息;假设会员卡中余额缺乏那么可实现在线预订。

会员登录购票功能流程图如图3-2所示。

管管管管管管Y管管管管管管N管管管管管管管管Y管管管管N管管管管管管管管管管 图 3-2会员在线购票流程图

系统前台功能构造图如图3-3所示。

- word.zl.

-

-

前台部分放映信息查询电影信息查询公告查看会员登录在线订票在线购票

图 3-3 系统前台功能构造图

3.1.3 销售端功能设计

1. 在销售端提供售票员对电影票的售卖,可销售近两天的电影票,当电影开场三十分钟后那么停顿销售当场的电影票。

2. 销售员可根据会员及顾客的不同类型选择售票的优惠折率,系统自动算出本次售票的金额并打印出项应的影票。

3. 售票员可根据顾客的要求为顾客选择相应的座位号。

4. 售票员可对售出票或会员预订票进展退票操作,并在办理退票操作后收取一定的退票费用,退票必须在电影开场前操作,否那么无法退票。

5. 售票员可对会员进展办理与充值效劳。 销售功能构造图如图3-4所示。

售票员销售影票订票处理退票处理会员办理会员充值

图 3-4 销售功能构造图

售票员售票流程图如图3-5所示。

- word.zl.

-

-

管管管管N管管管管Y管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管管

图3-5售票员售票流程图

3.1.4 后台管理功能设计

1. 管理员可根据影院实际情况安排近两天的电影放映,对电影信息进展添加与删除。

2. 管理员可设定某场电影的票价,对不同类型的顾客设定不同额度的优惠折扣率。

3. 管理员统计当天销售情况,分别可统计某一天中某个放映厅的收入详情与某一场电影的收入详情。

后台功能构造图如图3-6所示。

- word.zl.

-

-

管理员电影信息添加过期电影删除影票折率设定统计当天销售 图3-6 管理员功能构造图

3.2数据库设计

数据库设计〔Database Design〕是指根据用户需求,在具体的数据库管理系统上设计数据库的构造和建立数据库的过程。“影院售票系统〞的数据库使用SQL Server 2005数据库进展设计。

一般情况下,数据库的设计过程大致可分为5个步骤:需求分析、概念设计、逻辑设计、物理设计、验证设计。根据“影院售票系统〞的需求分析,本系统需要建立8个数据表来存放不同的数据。

3.2.1 数据库概念设计

根据需求分析,为“影院售票系统〞建立一个名为DB_Cinema的数据库,在DB_Cinema数据库中包含有T_User、T_FilmInf、T_TicketType、T_MemberInf、T_TicketInf、T_MovieHouse、T_BookTicket、T_PlayInf八个表。系统的E-R图如图3-7和图3-8所示。

- word.zl.

-

-

管管管管ID管管管管管管管管管管管管1管管管管管管管管管管管IDID管管n管管管管m管管1管管管管管管管管管管管管管管管管管管管管管管管管ID管管ID管管管管1管管n管管管管1管管1管管管管ID管管管管ID图3-7 电影信息管理E-R图

价格积分余额消费姓名ID证件ID电话会员信息1订票n会员订票信息序号会员级别放映厅ID座号影片名称入场时间会员ID放映时间图3-8 会员信息-会员订票信息E-R图

3.2.2 数据库物理设计

接下来设计数据库表的物理构造,在设计物理构造的过程中,根据数据库的概念设计,各个表的说明如表3-1所示。

- word.zl.

-

-

表3-1 数据库DB_Cinema 表名称 说明 T_User 存储系统用户 T_FilmInf 存储电影信息 T_PlayInf 存储放映信息 T_TicketType 存储电影票类型 T_MemberInf 存储会员信息 T_TicketInf 存储出票信息 T_MovieHouse 存储放映厅信息 T_BookTicket 存储预订票 T_User表的字段说明如表3-2所示。

表3-2 T_User表

字段名称 字段类型 字段宽度 字段含义 取值说明 U_Name Nchar 10 用户名称 主键 U_Password Nchar 10 登录密码 Not null U_Type Nchar 10 用户类型 Not null T_PlayInf表的字段说明如表3-3所示。

表3-3 T_PlayInf表

字段名称 字段类型 字段宽度 字段含义 取值说明 PI_Id Nchar 5 放映编号 主键 FI_Id Nchar 5 电影编号 Not null PI_ShowDate Nchar 10 上演日期 Not null PI_InterTime Nchar 10 入场时间 Not null MH_Id Nchar 5 放映厅编号 Not null T_FilmInf表的字段说明如表3-4所示。

表3-4 T_FilmInf表

字段名称 字段类型 字段宽度 字段含义 取值说明 FI_Id Nchar 5 电影编号 主键 FI_Name Nchar 10 电影名称 Not null FI_Director Nchar 10 电影导演 Not null - word.zl.

-

- FI_Role Nchar 30 电影主角 Not null FI_Image Image 海报 Not null FI_Iintroduction Nchar 255 电影简介 Not null FI_Price Decimal 〔5,2〕 电影售价 Not null T_TicketType表的字段说明如表3-5所示。

表3-5 T_TicketType表

字段名称 字段类型 字段宽度 字段含义 取值说明 TT_Id Nchar 5 类型编号 主键 TT_Type Nchar 10 类型名称 Not null TT_Cut-rate Numeric 〔2,1〕 折价 Not null T_MemberInf表的字段说明如表3-6所示。

表3-6 T_MemberInf表

字段名称 字段类型 字段宽度 字段含义 取值说明 MI_Id Nchar 5 会员证号 主键 MI_Name Nchar 10 会员 Not null MI_Phone Nchar 11 Not null MI_Certificate Nchar 20 证件号 Not null MI_Spent Decimal 〔6,2〕 会员消费 Not null MI_Surplus Decimal 〔6,2〕 卡余额 Not null MI_Integral Decimal 〔6,2〕 消费积分 Not null MI_Grade Nchar 10` 会员级别 Not null T_TicketInf表的字段说明如表3-7所示。

表3-7 T_TicketInf表

字段名称 字段类型 字段宽度 字段含义 取值说明 TI_Id Nchar 5 影票编号 主键 TT_Id Nchar 5 类型编号 Not null FI_Name Nchar 10 电影名称 Not null MH_Id Nchar 5 放映厅编号 Not null SP_Name Nchar 5 座号编号 Not null PI_Date Nchar 10 播放时间 Not null - word.zl.

-

- TI_Date Nchar 10 入场时间 Not null TI_Money Decimal 〔5,2〕 影票价格 Not null T_MovieHouse表的字段说明如表3-8所示。

表3-8 T_MovieHouse表

字段名称 字段类型 字段宽度 字段含义 取值说明 MH_Id Nchar 5 放映厅编号 主键 MH_Name Nchar 10 放映厅名称 Not null T_BookTicket表的字段说明如表3-9所示。

表3-9T_BookTicket表

字段名称 字段类型 字段宽度 字段含义 取值说明 BT_Id Nchar 5 预订编号 主键 MI_Id Nchar 5 会员证号 Not null FI_Name Nchar 10 电影名称 Not null SP_Name Nchar 5 座号编号 Not null PI_Date Nchar 10 播放时间 Not null MH_Id Nchar 5 放映厅编号 Not null TI_Date Nchar 10 入场时间 Not null BT_Money Decimal 〔5,2〕 订票价格 Not null - word.zl.

-

-

第4章 系统功能实现

4.1系统功能选择

系统功能选择窗体是在用户第一次启动软件时供用户选择系统功能的窗体,通过功能选择窗体用户可以选择系统进入前台界面或者进入售票、管理登录界面,如图4-1所示。

图4-1 功能选择窗体

4.2前台界面功能实现

4.2.1电影详细信息浏览

此界面是前台界面启动的第一个界面,在此界面中,用户可以清楚的看到近期将播放的电影的详细信息及在左侧公告栏中浏览本期购票优惠折率。在公告栏右下角提供会员登录,供会员进展登录购票或者在会员余额缺乏的情况下进展订票,前台界面首界面如图4-2所示。

4.2.2 放映信息查询

在此界面中,用户可根据自己需要查询的信息对近期将要放映的电影信息进展查询。查询可分为按时间查询、按放映厅查询和按时间和放映厅查询三种查询模式,界面如图4-3所示。

- word.zl.

-

-

图4-2 前台界面首界面

图4-3 放映信息查询界面

4.2.3 会员登录界面

会员登录界面提供会员的登录操作,会员通过登录可以实现在线购置所需影票,登录会员购票界面需要会员提供有效的会员和密码。会员在线

- word.zl.

-

-

购票可节省购票排队时间,另外还可享受影票打折优惠,会员登录界面如图4-4所示。

图4-4 会员登录界面

4.2.4 会员购票界面

会员购票界面提供会员在线购票功能,在此界面中会员可以查看自己的信息,可根据需要对近期电影进展购票操作,如果会员卡的余额不够支付本次购票所需金额,那么提示会员进展充值或者进展座位预订,预订后的影票可凭会员卡及订票编号在售票窗口进展领取,会员购票界面如图4-5所示。

图4-5 会员购票界面

- word.zl.

-

-

4.3 管理与售票功能实现

4.3.1 管理员及售票员登录界面

本界面提供管理员和售票员的登录功能,管理员登录系统后台可以对影院售票系统进展管理操作,而售票员登录系统后那么可进展影票销售操作及另外一些关于票务、会员的操作,如图4-6所示。

图4-6 管理员、售票员登录界面

4.3.2电影信息管理实现

在系统管理后台,管理员可对影院近期电影进展添加、往期电影进展删除和对近期电影的票价折率进展设定。在添加电影编号的过程中,在“电影编号〞旁边会出现“最后一部电影的编号为FXXX〞,以便管理员在对电影添加编号的过程中按照此编号往下对影片进展编号,从而排除出现影片编号冲突而添加失败的情况,在选择电影海报的时候点击“浏览〞按钮弹出文件选择对话框,选择目标图片即可。如图4-7所示。

- word.zl.

-

-

图4-7 管理员管理界面

另外,为了方便统计影院的销售情况,管理员可以对近期销售的影票进展统计,统计包括按影片统计和按放映厅统计两局部,这两局部统计都包含各类票的出票情况、小计及当天销售额的总计,如图4-8所示。

图4-8 某日销售统计

4.3.3 售票功能实现

当售票员通过登录界面登录到售票界面后,可对近期电影进展售票,售票界面如图4-9所示。

- word.zl.

-

-

图4-9 售票员售票界面

售票员登录系统后,除了可以完成常规的售票以外,还可以对销售的票进展退票处理,对会员预订的票进展购置处理以及对会员进展充值或者根据客户需要开通新的会员,界面如图4-10所示。

图4-10 售票员处理票务界面

- word.zl.

-

-

第5章系统测试

5.1测试环境

表5-1 测试环境

软件环境 操作系统 数据库 处理器 存 硬件环境 主硬盘 显卡 显示器 Windows 7 旗舰版 64位 ( DirectX 11 ) Microsoft SQL Server 2005 Express 英特尔 Core i3 M 370 2.40GHz 笔记本处理器 2 GB ( 尔必达 DDR3 1067MHz ) 希捷 ST9500325AS ( 500 GB / 5400 转/分 ) Nvidia GeForce 310M ( 512 MB / 联想 ) 联想 LEN40A0 ( 14 英寸 )

5.2功能测试

经过一系列的测试,本“影院售票系统〞各个功能模块均能满足影院售票过程的根本需要,能够有效的完成影片信息的查询,会员购票,销售员售票及管理票务,管理员实现后台管理等。

表5-2 功能测试方案

序号 1 2 3 4 5 6 7 8 9 10 功能点 登录 影片管理 放映信息查询 电影信息查询 会员在线购票 会员在线订票 售票员售票 售票员退票 会员充值 会员办理 测试方法 判定覆盖、等价类划分 等价类划分 边界值分析、等价类划分 边界值分析、等价类划分 边界值分析、等价类划分 边界值分析、等价类划分 边界值分析、等价类划分 边界值分析、等价类划分 边界值分析、等价类划分 边界值分析、等价类划分 - word.zl.

- -

11 订票处理 边界值分析、等价类划分 5.2.1会员购票测试

当会员登录系统后,可根据需要对电影进展选择购置,在购置的过程中,系统会判断会员的余额是否足够支付本次购票所需金额,如果余额缺乏,那么弹出提示框提醒会员余额缺乏,是否进展订票操作,如果选择“是〞,那么弹出会员本次预订票的编号,以便到售票窗口进展取票,如果选择“否〞那么提示会员可到售票窗口充值或者直接购票,预订票提示信息如图5-1所示。

图5-1 预订票测试界面

5.2.2售票测试

销售员登录销售端后可实现对影片的售票,售票员在操作时可实现同时销售多影票,销售成功后会弹出销售的影票界面,如图5-2所示。

- word.zl.

-

-

图5-2 售票员售票

5.3 使用手册

系统使用说明:

1. 系统在操作过程中如果用户输入不合法的字符或空字符,系统会提示用户输入完整,一般不会出现系统错误现象。

2. 在管理员添加电影时,“电影编号〞需根据提示输入,以免编号冲突产生系统报错情况,即使操作不当报错,只需修改错误即可,不会出现系统错误等问题。

3. 系统大多采用鼠标点击输入的方式进展选择,大大降低因输入错误而造成的不便;另外,需手动输入的局部大多采用maskedTextBox进展限制输入,以免输入不合法字符而造成不必要的错误,大大增加了系统的平安性。

- word.zl.

-

-

结论

在即将毕业的日子里,学校安排给了我们毕业设计,是对我们大学三年来所学知识的考验,让我们把在大学三年来学习的理论知识与实际的生产相结合,融会贯穿,使我们所学的知识更加结实,理论与实际结合的能力加以提升,为我们将来找到一份满意的工作奠定根底。

在做毕业设计的过程中,我学到了很多在课堂上没有学到的知识与解决问题的方法,在这次毕业设计中,我很好的锻炼了我综合知识、灵活运用所学知识的能力,同时也真正提高了我查阅文献资料、网络搜索的水平,是我在本次实习中受益匪浅,让我学到了丰富的知识。

- word.zl.

-

-

时光飞逝,三年的大学生活已逝,在这三年中,各位教师对我们的谆谆教导仍在心间,这将是我们永恒的财富。

能够顺利完成毕业设计,教师和同学们的帮助是不可缺少的,正如做一件事情,不可能全部由一个人来完成,在做的过程中总会遇到这样那样的问题是我们自己无法自己解决的。这里要感教师的指导和帮助,为我的毕业设计设定目标,分析毕业设计的题目容,让我很好的了解所选毕业设计任务的方向,为我完成毕业设计铺下良好的根底,在完成任务的过程中遇到不懂不会的问题给我以合理化的建议。另外要感在此过程中帮助过我的同学们,我们在一起探讨问题的同时,让我学到了很多我没有学到的东西。

在最后,再次真诚的感大学里所有教师的教导,感我们一起走过大学三年的同学们。

- word.zl.

-

-

参考文献

[1]春葆, 金晶, 于丹丹. ASP.NET 2.0动态设计教程[M]. : 清华大学, 2010.

[2]郭鲜凤, 郭翠英. SQL Server 数据库应用开发技术[M].: 大学, 2009. [3]晓蕾, C#程序设计使用教程[M].: 人民邮电, 2008. [4]华亭, 软件工程初级教程[M].: 清华大学, 2010. [5]袁涛, 孔蕾蕾, 统模语言UML[M].: 清华大学, 2009. [6]红霞, 白桂梅, 数据构造与实训[M].: 电子工业, 2010. [7]王珊, 萨师煊, 数据库系统概论[M].: 高等教育, 2011.

[8]郭鲜凤, 郭翠英. SQL Server数据库应用开发技术[M]. :大学, 2009. [9]马军,. SQL 语言与数据库操作技术大全[M]. : 电子工业, 2008. [10]戴宗友, 伍荣, 辉.C#程序设计实训[M].: 清华大学, 2009. [11]王文强. 新一代影院售票系统[J]. 影视技术. 2003,(12):38-40. [12]蕴梅. 基于借口技术的影院售票系统的设计与实现[J]. 科技信息. 2010,(31):57-58.

[13]朝云, 宁宁, 柯. 影院售票系统开发中的问题与处理技术[J]. 现代电子技术. 2009,(22):50-52.

[14]朱如龙. SQL Server 2005数据库应用系统开发技术[M]. : 机械工业, 2006.

[15]明日科技. C#开发技术大全[M]. : 人民邮电, 2011.

- word.zl.

-

-

附 录

主要源程序代码

1. 售票及管理员登录源代码 〔会员登录与之相似,不再累述〕

private void button1_Click(object sender, EventArgs e) {

Stringconstr =

System.Configuration.ConfigurationSettings.AppSettings[\"connstr\"].ToString();

SqlConnection myconn = new SqlConnection(); myconn.ConnectionString = constr; string password; string type;

if (textBox2.Text !=\"\") { try {

myconn.Open();

string sqlstr = \"select U_Password from T_User where U_Name=name\";

Sqlmand mycmd = new Sqlmand(sqlstr, myconn); mycmd.Parameters.Add(\"name\SqlDbType.NChar).Value = boBox2.Text;

Object pwdObj = mycmd.ExecuteScalar(); password = pwdObj.ToString().Trim();

string sqlstr1 = \"select U_Type from T_User where U_Name=name\";

Sqlmand mycmd1 = new Sqlmand(sqlstr1,

- word.zl.

-

-

myconn);

mycmd1.Parameters.Add(\"name\SqlDbType.NChar).Value = boBox2.Text;

type = mycmd1.ExecuteScalar().ToString().Trim(); if (textBox2.Text.Trim() == password & boBox1.Text.Trim() == type & type == \"管理员\")

{

Program.manage = new manage(); Program.manage.Show(); this.Close(); }

else if (textBox2.Text.Trim() == password & boBox1.Text.Trim() == type & type == \"售票员\")

{

Program.sale = new sale(); Program.sale.Show(); this.Close(); } else {

textBox2.Text = \"\"; boBox1.Text = \"请选择\"; MessageBox.Show(\"密码错误!\"); }

myconn.Close(); }

catch (SqlException ex) {

MessageBox.Show(ex.ToString()); }

- word.zl.

-

-

catch (NullReferenceException ex) {

MessageBox.Show(\"用户名不存在\"); } } else

MessageBox.Show(\"请输入密码!\"); } 2. 电影票的销售

〔会员购置与之相似,不再累述〕

private void boBox4_SelectedIndexChanged(object sender, EventArgs e)//影院座位的生成代码

{

groupBox1.Controls.Clear(); string F_MH;

List SP_Name=new List(); List SP_Nameb = new List(); string mystr =

System.Configuration.ConfigurationSettings.AppSettings[\"connstr\"].ToString();

SqlConnection myconn = new SqlConnection(mystr); myconn.Open();

Sqlmand mycmd0 = new Sqlmand(\"select FI_Price from T_FilmInf,T_MovieHouse where FI_Name='\" + boBox1.Text.Trim() + \"' and FI_ShowDate='\" + boBox2.Text.Trim() + \"'and FI_EnterTime='\" + boBox3.Text.Trim() + \"' and T_FilmInf.MH_Id=T_MovieHouse.MH_Id\myconn);

Sqlmand mycmd1 = new Sqlmand(\"select MH_Id from T_MovieHouse where MH_Name='\"+boBox4.Text.Trim()+\"'\

F_MH = mycmd1.ExecuteScalar().ToString().Trim(); Sqlmand mycmd4 = new Sqlmand(\"select SP_Name from

- word.zl.

-

-

T_TicketInf where MH_Id='\" + F_MH + \"'and PI_Date='\" +

boBox2.Text.Trim() + \"' and TI_Date='\" + boBox3.Text + \"'\

Sqlmand mycmd5 = new Sqlmand(\"select SP_Name from T_BookTicket where MH_Id='\" + F_MH + \"'and PI_Date='\" + boBox2.Text.Trim() + \"' and TI_Date='\" + boBox3.Text + \"'\

SqlDataReader myreader=mycmd4.ExecuteReader(); while (myreader.Read()) {

SP_Name.Add(string.Format(\"{0}\

}

myreader.Close();

SqlDataReader myreader1 = mycmd5.ExecuteReader(); while (myreader1.Read()) {

SP_Nameb.Add(string.Format(\"{0}\myreader1.GetString(0).ToString()));

}

myreader1.Close();

textBox1.Text = mycmd0.ExecuteScalar().ToString(); Label lab; int i, j,k,l; int count,countb; count = SP_Name.Count; countb = SP_Nameb.Count; string[] spname = new string[count]; string[] spnameb = new string[countb]; spname = SP_Name.ToArray(); spnameb = SP_Nameb.ToArray(); for (i = 0; i < 11; i++)

- word.zl.

-

-

for (j = 1; j < 19; j++) {

lab = new Label(); lab.Text = j + \"-\" + (i + 1);

lab.Location = new Point(10 + (42 * i), (20 * j)); lab.BackColor = Color.Green;

lab.Font = new System.Drawing.Font(\"微软雅黑\9F);

lab.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;

lab.Click += new EventHandler(lab_Click); lab.Width = 41; lab.Height = 15; if (i == 3 || i == 7) {

lab.Text = \"过道\";

lab.BackColor = Color.GreenYellow; }

for (k = 0; k if (lab.Text ==Convert.ToString(spname[k]).Trim())

{

lab.BackColor = Color.Red; } }

for (l = 0; l < spnameb.Length; l++) {

if (lab.Text == Convert.ToString(spnameb[l]).Trim())

- word.zl.

-

-

{

lab.BackColor = Color.Yellow; } }

groupBox1.Controls.Add(lab); } myconn.Close(); }

private void lab_Click(objectsender,EventArgs e)//定义生成的lab标签的单击事件

{

if(boBox1.Text==\"\"

||

boBox2.Text==\"\"

||

boBox3.Text==\"\" || boBox4.Text==\"\" || boBox5.Text==\"\")

{

MessageBox.Show(\"请选择电影的完整信息\"); }

else if (((Label)sender).Text == \"过道\") {

textBox3.Text

Convert.ToString(Convert.ToInt32(textBox3.Text) + 0);

}

else if(((Label)sender).BackColor==Color.Red) {

MessageBox.Show(\"此座位已售出。\"); }

else if (((Label)sender).BackColor == Color.Yellow) {

MessageBox.Show(\"此座位已预订。\"); } else

- word.zl.

=

-

-

{

int num; string FI_Id; string TI_Id; string MH_Id; string TT_Id; string mystr =

System.Configuration.ConfigurationSettings.AppSettings[\"connstr\"].ToString();

SqlConnection myconn = new SqlConnection(mystr); myconn.Open();

Program.SeatId = ((Label)sender).Text;

Sqlmand mycmd0 = new Sqlmand(\"select MH_Id from T_MovieHouse where MH_Name='\" + boBox4.Text + \"'\

MH_Id = mycmd0.ExecuteScalar().ToString(); Sqlmand mycmd1 = new Sqlmand(\"select FI_Id from T_FilmInf where FI_Name='\" + boBox1.Text + \"'and FI_ShowDate='\" + boBox2.Text + \"' and FI_EnterTime='\" + boBox3.Text + \"' and MH_Id='\" + MH_Id + \"'\

FI_Id = mycmd1.ExecuteScalar().ToString();

Sqlmand mycmd2 = new Sqlmand(\"select TT_Id from T_TicketType where TT_Type='\" + boBox5.Text + \"'\

TT_Id = mycmd2.ExecuteScalar().ToString();

Sqlmand mycmd4 = new Sqlmand(\"select top 1 TI_Id from T_TicketInf order by TI_Id desc\

object numobj = mycmd4.ExecuteScalar(); if (numobj == null) {

num =10001; } else

- word.zl.

-

-

{

num =

Convert.ToInt32(mycmd4.ExecuteScalar().ToString())+1;

}

TI_Id = Convert.ToString(num);

Sqlmand mycmd3 = new Sqlmand(\"insert into T_TicketInf

values(TI_Id,TT_ID,FI_Name,MH_Id,SP_Name,PI_Date,TI_Date,TI_Money)\myconn);

mycmd3.Parameters.Add(new SqlParameter(\"TI_Id\TI_Id));

mycmd3.Parameters.Add(new SqlParameter(\"TT_ID\TT_Id));

mycmd3.Parameters.Add(new SqlParameter(\"FI_Name\

mycmd3.Parameters.Add(new SqlParameter(\"MH_Id\MH_Id));

mycmd3.Parameters.Add(new SqlParameter(\"SP_Name\

mycmd3.Parameters.Add(new SqlParameter(\"PI_Date\boBox2.Text.Trim()));

mycmd3.Parameters.Add(new SqlParameter(\"TI_Date\boBox3.Text.Trim()));

mycmd3.Parameters.Add(new

SqlParameter(\"TI_Money\Convert.ToDecimal(textBox2.Text))/10));

mycmd3.ExecuteNonQuery(); myconn.Close(); textBox3.Text =

Convert.ToString(Convert.ToInt32(textBox3.Text) + 1);

- word.zl.

-

-

((Label)sender).BackColor = Color.Red; ((Label)sender).Enabled = false; } }

- word.zl.

因篇幅问题不能全部显示,请点此查看更多更全内容