电影销售管理系统(共23页).doc

上传人:飞****2 文档编号:14358572 上传时间:2022-05-04 格式:DOC 页数:23 大小:507KB
返回 下载 相关 举报
电影销售管理系统(共23页).doc_第1页
第1页 / 共23页
电影销售管理系统(共23页).doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《电影销售管理系统(共23页).doc》由会员分享,可在线阅读,更多相关《电影销售管理系统(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上电影售票预定系统档案一摘要 随着人们生活水平的不断提高,人们生活的消费和需求也越来越旺盛。电影院售票系统可以实现影片的登记和电影票的购买, 可以方便 的进行电影以及实时影票信息的查询等,从而做到方便的售票操作, 方便了工作人员的同时也让顾客能够轻轻松松地买票, 我们的宗旨是 一个字:快! ;两个字:便捷。因此,该系统主要根据实际需求,划分了电影信息管理,每场电影的坐位信息管理,每个电影的预定情况,并选用VisualStudio.NET2008开发工具和SQLServer2005数据库,采用B/S模式实现了从客户来访、报价、订购等多个环节数据的跟踪管理服务,基本上满足了

2、电影销售管理流程。 关键词:销售管理;B/S模式;数据库;.NET 1.2 定义: 查询:对数据库的操作的一种,用于搜索数据信息。 插入:对数据库的操作的一种,用于将数据存入数据库中。 更新:对数据库的操作的一种,用于更改数据库中的数据信息。 软件结构图:反映软件系统的功能模块之间的关系的数据图。二电影售票预定系统的需求分析2.1系统需求 本电影售票预定系统是一个协助影院进行全面管理的一个信息管理系统。本管理系统在实现上应满足以下需求: 1.能达到网站和影院间的无缝链接和数据的共享。 2.为系统提供数据支持。 3.不同级别的用户拥有相应的权限使用该系统,从而大大提高了系统的安全性和管理效率。首

3、先将电影信息入库,然后影院通过与客户的交易活动,将相关信息存入库,然后影院通过销售信息的查询获得电影票销售的情况,通过库存查询获得影院的剩票情况。由此可分析系统需要达到以下目标:1. 能很好地完成电影票售前管理。售前管理包括影院信息,电影场次,电影片名信息的入库作业。2. 能详细地记录影院和客户的交易过程,即订票或退票的情况。3. 能详细地记录电影场次跟票数量的关系,即某场的电影和剩余票的关系。4. 能及时准确地获得影院和市场的需求。即通过对电影场次,片名及票务销售的情况信息查询获得相应的结果,以备公司作为,从而安排更好的电影场次。5. 能够对各场电影票销售的情况进行相应的记录。包括对订票,退

4、票,修改等。6. 能够对不同权限的用户进行合理的管理。包括添加用户,删除用户,用户账号和密码管理等。2.2数据字典描述数据字典是各累数据描述的集合。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是最小的组成单位,若干个数据项可以组成一个数据结构,数据字典对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据本身将存在物理数据库中,由数据库系统管理。数据字典有助于这些数据的进一步管理和控制,为设计人员和数据库管理员在数据库

5、设计、实现和运行阶段控制有关数据提供依据。2.3 程序描述 各功能详细描述:本系统主要用于电影票预订,所以提供了以下几个子功能:用户注册,用户登陆,电影详细内容,生成订单,退订订单,付款,以及后台方面的电影的添加,以及电影的查询等后台功能。1、用户注册:新用户可以通过注册会员来登陆。2、用户登陆:登陆后的会员才能进行购票,查询订单。3、电影详细内容:点击进入后可以查看电影的详细信息。包括:时长,价格,上映的时间等。4、生成订单:该项功能提供用户选择购买电影票的数量,及取消订单等操作。5、退订功能:会员可以选择是否取消已经生成的电影订单。6、付款:此页面用户可以选择付款方式,并最终确定订单的生成

6、。7、后台电影的添加:该功能只有机场管理员有权力操作,管理员可以通过影院电影场次的安排来增加电影的内容,信息等操作。三概念结构设计3.1软件结构:电影售票预定系统数据输入数据输出数据输入页面信息录入用户登陆登陆信息 数据录入 数据信息 数据信息 数据信息 数据处理、查询数据判断数据信息 准备SQL判断查询数据库操作数据信息 判断信息 判断结果 数据信息 返回订单等确定错误原因返回影片信息生产订单显示错误原因确定订单数据信息 3.2 E-R图向关系模型转换:电影售票预定系统的基本ER图下面分别介绍表的结构:1 电影表结构编号字段名称结构类型大小说明1电影编号Int主键2电影名char20主键3价

7、格Money不允许为空4时长Char10不允许为空5上映时间Datetime允许为空6电影简介Char200不允许为空7票数Int不允许为空8图片Char60不允许为空2 订单表结构编号字段名称结构类型大小说明1订单编号Int主键2会员名char20不允许为空3订单日期Datetime20不允许为空4发货方式Char20不允许为空5付款方式Char20不允许为空6总金额Float不允许为空7是否发货Bit不允许为空8备注Next允许为空3 购物车表结构编号字段名称结构类型大小说明1购物车编号Int不允许为空2会员名Char12外键3电影编号Int不允许为空4数量Int不允许为空4 管理员表结构

8、编号字段名称结构类型大小说明1用户名Char20不允许为空2密码Char32不允许为空3权限Int不允许为空5 会员表结构编号字段名称结构类型大小说明1会员名Char12不允许为空2名字Char20不允许为空3密码Char32不允许为空4性别Char2允许为空5出生日期Datetime 允许为空6联系地址nchar60不允许为空7联系电话Char13不允许为空8邮政编码Char6不允许为空6 详细订单表结构编号字段名称结构类型大小说明1订单编号Int外键2会员名Char12不允许为空3电影编号Int不允许为空4数量Int不允许为空3.3 源程序代码创建数据库 电影售票创建6个表,两个视图创建电

9、影表USE 电影售票GO/* 对象: Table dbo.电影表 脚本日期: 12/23/2011 15:57:34 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.电影表(电影编号 int NOT NULL,电影名 char(20) NULL,价格 money NULL,时长 char(10) NULL,上映时间 datetime NULL,电影简介 char(200) NULL,票数 int NULL,图片 char(60) NULL) ON PRIMARY创建订单表C

10、REATE TABLE dbo.订单表(订单编号 int NOT NULL,会员名 char(20) NULL,订单日期 datetime NULL,发货方式 char(20) NULL,付款方式 char(20) NULL,总金额 float NULL,是否发货 bit NULL,备注 ntext NULL, CONSTRAINT PK_订单表 PRIMARY KEY CLUSTERED (订单编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS =

11、ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY TEXTIMAGE_ON PRIMARY创建购物车表CREATE TABLE dbo.购物车表(购物车编号 int NOT NULL,会员名 char(12) NULL,电影编号 int NULL,数量 int NULL, CONSTRAINT PK_购物车表 PRIMARY KEY CLUSTERED (购物车编号 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_L

12、OCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY创建管理员表CREATE TABLE dbo.管理员表(用户名 char(20) NOT NULL,密码 char(32) NULL,权限 int NULL) ON PRIMARY创建会员表CREATE TABLE dbo.会员表(会员名 char(12) NOT NULL,名字 char(20) NULL,密码 char(32) NULL,性别 char(2) NULL,出生日期 datetime NULL,联系地址 nchar(60) NULL,联系电话 char(13) NUL

13、L,邮政编码 char(6) NULL, CONSTRAINT PK_会员表 PRIMARY KEY CLUSTERED (会员名 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY创建详细订单表CREATE TABLE dbo.详细订单表(订单编号 int NULL,会员名 char(12) NULL,电影编号 int NULL,数量 int NULL)

14、 ON PRIMARY创建购物车视图SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER VIEW dbo.购物车视图ASSELECT dbo.购物车表.购物车编号, dbo.购物车表.会员名, dbo.购物车表.电影编号, dbo.购物车表.数量, dbo.电影表.电影名, dbo.电影表.价格FROM dbo.购物车表INNER JOIN dbo.电影表ON dbo.购物车表.电影编号= dbo.电影表.电影编号创建详细订单视图ALTER VIEW dbo.详细订单视图ASSELECT dbo.订单表.订单编号, dbo.订单表.会员名, d

15、bo.订单表.发货方式, dbo.订单表.订单日期, dbo.订单表.付款方式, dbo.订单表.是否发货, dbo.订单表.备注, dbo.详细订单表.数量, dbo.详细订单表.电影编号, dbo.电影表.电影名, dbo.电影表.价格, dbo.订单表.总金额FROM dbo.订单表INNER JOIN dbo.详细订单表ON dbo.订单表.订单编号= dbo.详细订单表.订单编号INNER JOIN dbo.电影表ON dbo.详细订单表.电影编号= dbo.电影表.电影编号存储过程ALTER procedure dbo.添加电影计划电影编号int,电影名char(20),价格mon

16、ey,时长char(10),上映时间datetime,电影简介char(200),票数int,图片char(60),返回值char(50)outputas beginif (select COUNT(*) from 电影表where 电影编号=电影编号)0set 返回值=库中已有,请先重新信息return -1endinsert into 电影表values(电影编号,电影名,价格,时长,上映时间,电影简介,票数,图片);set 返回值=添加成功return 1网页界面定义一个DB类using System;using System.Data;using System.Configuratio

17、n;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;/ / DB 的摘要说明/ public class DB public SqlConnection Con = new SqlConnection(); public SqlCommand Com =

18、 new SqlCommand(); public SqlDataAdapter Da = new SqlDataAdapter(); public DataSet Ds = new DataSet(); public DB()/ TODO: 在此处添加构造函数逻辑/ /定义一个用于返回数据库连接字符串的方法 public String GetConnectionString() String ConStr; ConStr = Data Source=.SQL2005;Initial Catalog=电影售票;Persist Security Info=True;User ID=sa;Pass

19、word=sql2005; return ConStr; /定义一个用于返回数据集的公共查询方法 public DataSet GetDataTableBySql(String SqlStr) Con.ConnectionString = GetConnectionString(); Com.Connection = Con; Com.CommandText = SqlStr; Da.SelectCommand = Com; try Ds.Clear(); Con.Open(); Da.Fill(Ds); Con.Close(); catch (SqlException) Con.Close(

20、); return Ds; public bool GetBoolBySql(String SqlStr) Con.ConnectionString = GetConnectionString(); Com.Connection = Con; Com.CommandText = SqlStr; Da.SelectCommand = Com; try Ds.Clear(); Con.Open(); Da.Fill(Ds); Con.Close(); catch (SqlException) Con.Close(); if (Ds.Tables 0.Rows.Count !=0) return t

21、rue ; else return false ; /定义一个用于返回执行数据更新操作是否成功标志的方法 public Boolean UpdateDataBySql(String SqlStr) Con.ConnectionString = GetConnectionString(); Com.Connection = Con; Com.CommandText =SqlStr; try Con.Open(); Com.ExecuteNonQuery(); Con.Close(); return true; catch (SqlException) Con.Close(); return fa

22、lse; 主界面有购物车,订单查询,账号登陆,电影信息显示,管理员登陆账号登陆protected void Button1_Click(object sender, EventArgs e) SqlStr = select * from 会员表 where 会员名= + this.TextBox1.Text + and 密码= + this.TextBox2.Text + ; Ds = db.GetDataTableBySql(SqlStr); try if (Ds.Tables0.Rows.Count = 0) this.Label1.Text = 用户名或密码错误,请重试!; this.T

23、extBox1.Focus(); else this.Label1.Text =用户 +this.TextBox1.Text + 恭喜您登录成功!; SessionUserName = this.TextBox1.Text; catch (Exception) this.Label1.Text = 没有得到任何数据,请重试!; 注册用户protected void btn_Register_Click(object sender, EventArgs e) String Md5_User_Pwd = FormsAuthentication.HashPasswordForStoringInCon

24、figFile(this.txt_User_Pwd.Text, MD5); DB db = new DB(); SqlConnection conn = new SqlConnection(Data Source=.SQL2005;Initial Catalog=电影售票;Persist Security Info=True;User ID=sa;Password=sql2005); conn.Open(); String SqlStr = insert into 会员表(会员名,密码,名字,性别,出生日期,联系地址,邮政编码,联系电话) + values( + this.txt_User_N

25、ame.Text + , + Md5_User_Pwd + , + this.txt_Rel_Name.Text + , + + this.DDL_Sex.SelectedItem.Text + , + this.DDL_Year.SelectedItem.Text + - + this.DDl_Month.SelectedItem.Text + - + this.DDL_Day.SelectedItem.Text + , + + this.txt_Address.Text + , + this.txt_Postalcode.Text + , + this.txt_Tel.Text + );

26、Boolean InsertResult; SqlCommand cmd = new SqlCommand(SqlStr, conn); int i = Convert.ToInt32(cmd.ExecuteNonQuery(); if (i=1) this.Labinfo.Text = 恭喜您注册成功!; else this.Labinfo.Text = 对不起,注册失败,请重试!; this.txt_User_Name.Focus (); 显示电影register.aspx; a href =ticketdetails.aspx?ticketid=img width =80 height

27、=110 src =a href =ticketdetalis.aspx?ticketid= 数据库调用cs代码SqlStr = select * from 电影表; Ds = db.GetDataTableBySql(SqlStr); try if (Ds.Tables0.Rows.Count != 0) this.DataList1.DataSource = Ds.Tables0.DefaultView; this.DataList1.DataBind(); catch (Exception) Response.Write(alert(没有获得任何数据,请检查!); 电影详细介绍ticke

28、tdetalis.aspxif (Page.IsPostBack = false) Ticket_ID = Request.QueryString.Get(0).ToString().Trim(); SqlStr = select * from 电影表 where 电影编号= + Ticket_ID; Ds = db.GetDataTableBySql(SqlStr); try if (Ds.Tables0.Rows.Count != 0) this.Repeater1.DataSource = Ds.Tables0.DefaultView; this.Repeater1.DataBind()

29、; Sessionticket_id = Ticket_ID; catch (Exception) Response.Write(alert(没有获得任何数据,请检查!); 购物车调用。Net的数据库控件 电影编号 电影名称 价格 数量 修改数量 删除 asp:TextBox ID=count runat=server Text = Width=30 使用.NET数据库控件if (Page.IsPostBack = false) Ticket_ID = Request.QueryString.Get(0).ToString().Trim(); SqlStr = select * from 电影表 where 电影编号= + Ticket_ID; Ds = db.GetDataTableBySql(SqlStr); try if (Ds.Tables0.Rows.Count != 0) this.Repeater1.DataSource = Ds.Tables0.DefaultView; this.Repeater1.DataBind(); Sessionticket_id = Ticket_ID; catch (Exception) Response.Write(alert(没有获得任何数据,请检查!); 价格结算public partial class order : Sy

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁