电影销售管理系统_第1页
电影销售管理系统_第2页
电影销售管理系统_第3页
电影销售管理系统_第4页
电影销售管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

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

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

6、定订单的生成。7、后台电影的添加:该功能只有机场管理员有权力操作,管理员可以通过影院电影场 次的安排来增加电影的内容,信息等操作。三.概念结构设计3.1软件结构:判断查询确定错误原因返回影片信息准备SQL页面信息录入确定订单显示错误原因用户名M出住日期订单编号管理员联系地址联系电话详细订单邮政编码1用户名图片购物车编图购物车表上映时间I电影简介)生成是百发货总金【付款方式发空方式3.2 e-R图向关系模型转换电影售票预定系统判断信息判断结果电影售票预定系统的基本ER图卜面分别介绍表的结构:1电影表结构编号字段名称结构类型大小说明1电影编号Int主键2电影名char20主键3价格Money不允许

7、为空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个表,两个视图-电彭百携t数据库关系图日二表+1系统

9、表+ 二曲。,电影表+ 口曲口订单表+ 曲。,购物车表+ 口曲。,管理员表| 口曲口.会员表4 口 dE,详细订单表十一视图+ _j同文词*| 3可编程性+ _j Service Broker十一I,存储+安全性创建电影表USE 电影售票GO/* 对象:Table dbo.电影表SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO视圉+系统视图十回北5购物车视图十O.曲口,详细订单视图脚本日期:12/23/2011 15:57:34 */CREATE TABLE dbo.电影表(电影编号int NOT NULL,电

10、影名char(20) NULL,价格money NULL,时长char(10) NULL,上映时间datetime NULL,电影简介char(200) NULL,票数int NULL,图片char(60) NULL)ON PRIMARY创建订单表CREATE TABLE dbo.订单表( 订单编号int NOT NULL,会员名char(20) NULL, 订单日期datetime NULL, 发货方式char(20) NULL,付款方式char(20) NULL,总金额float NULL,是否发货bit NULL,备注ntext NULL,CONSTRAINT PK_ 订单表PRIMAR

11、Y KEY CLUSTERED (订单编号ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS )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

12、 = OFF, STATISTICS_NORECOMPUTE OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS=OFF, IGNORE_DUP.=ON) ON PRIMARY=OFF, IGNORE_DUP.=ON) ON PRIMARYKEY =KEY =)ON PRIMARY创建管理员表CREATE TABLE dbo.管理员表(用户名char(20) NOT NULL,密码char(32) NULL,权限int NULL)ON PRIMARY创建会员表CREATE TABLE dbo.会员表(会员名char(12) NOT NULL,名字char(2

13、0) NULL,密码char(32) NULL,性另ij char(2) NULL, 出生日期datetime NULL, 联系地址nchar(60) NULL, 联系电话char(13) NULL, 邮政编码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

14、 PRIMARY 创建详细订单表CREATE TABLE dbo.详细订单表(订单编号int NULL, 会员名char(12) NULL, 电影编号int NULL, 数量int NULL)ON PRIMARY 创建购物车视图SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER VIEW dbo.购物车视图 ASSELECTdbo.购物车表.购物车编号,dbo.购物车表.会员名,dbo.购物车表.电影编号,dbo.购物车表.数量,dbo.电影表.电影名,dbo.电影表.价格 FROMdbo.购物车表 INNER JOINdbo.电影表ON db

15、o.购物车表.电影编号=dbo.电影表.电影编号 创建详细订单视图ALTER VIEW dbo.详细订单视图 ASSELECTdbo.订单表.订单编号,dbo.订单表.会员名,dbo.订单表.发货方式,dbo.订单表 订单日期,dbo.订单表.付款方式,dbo.订单表.是否发货,dbo.订单表.备注,dbo.详细订单表.数量,dbo.详细订单表.电影编号,dbo.电影表.电影名, dbo.电影表.价格,dbo.订单表 总金额 FROMdbo.订单表 INNER JOINdbo.详细订单表 ON dbo.订单表.订单编号=dbo.详细订单表.订单编号 INNER JOINdbo.电影表ON db

16、o.详细订单表.电影编号=dbo.电影表.电影编号存储过程ALTER procedure dbo.添加电影计划电影编号int,电影名 char(20),价格 money,时长 char(10),上映时间datetime,电影简介char(200),票数int,图片 char(60),返回值 char(50)outputasbeginif (select COUNT(*) from 电影表where电影编号=电影编号)0set 返回值=库中已有,请先重新信息return -1endinsert into 电影表values(电影编号,电影名,价格,时长,上映时间,电影简介,票数,图片);set

17、返回值=添加成功return 1网页界面解决方案”的31u -1 一 .J D:,WebSitel+ 制 App_Code +_ App_Data可 image +1 5crpt& _ adknhjnclex.aspxBS画,二四SEIS 国时日甲副副日冠)admin_index.asp: admin_login,a5px adm n_order jdeal. as Default.aspx为 Default 冶印s OeFajfc2.aspx Error.aspx order ,aspx register, aspx,为 register.aspx.cs+12亦用悟启中x+ _J ticke

18、tdetalis.aspx web. config定义一个DB类using System;using System.Data;using System.Configuration;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 的摘要说明/

19、 public class DB public SqlConnection Con = new SqlConnection();public SqlCommand Com = new SqlCommand();public SqlDataAdapter Da = new SqlDataAdapter();public DataSet Ds = new DataSet();public DB() / TODO:在此处添加构造函数逻辑/定义一个用于返回数据库连接字符串的方法public String GetConnectionString() String ConStr;ConStr = Data

20、 Source=.SQL2005;Initial Catalog=电影售票;Persist Security Info=True;User ID=sa;Password=sql2005;return ConStr;/定义一个用于返回数据集的公共查询方法public DataSet GetDataTableBySql(String SqlStr) Con.ConnectionString = GetConnectionString();Com.Connection = Con;Com.CommandText = SqlStr;Da.SelectCommand = Com; try Ds.Clea

21、r();Con.Open();Da.Fill(Ds);Con.Close();catch (SqlException)Con.Close();return Ds;public bool GetBoolBySql(String SqlStr)Con.ConnectionString = GetConnectionString();Com.Connection = Con;Com.CommandText = SqlStr;Da.SelectCommand = Com;tryDs.Clear();Con.Open();Da.Fill(Ds);Con.Close();catch (SqlExcepti

22、on)Con.Close();if (Ds.Tables 0.Rows.Count !=0)return true ;elsereturn false ;/定义一个用于返回执行数据更新操作是否成功标志的方法 public Boolean UpdateDataBySql(String SqlStr)Con.ConnectionString = GetConnectionString();Com.Connection = Con;Com.CommandText =SqlStr;tryCon.Open();Com.ExecuteNonQuery();Con.Close();return true;c

23、atch (SqlException) Con.Close();return false;主界面有购物车,订单查询,账号登陆,电影信息显示,管理员登陆 账号登陆落地孤渊网上影院www. guyuan. comprotected 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.Tab

24、les0.Rows.Count = 0) this.Label1.Text =用户名或密码错误,请重试! ;this.TextBox1.Focus(); else this.Label1.Text =用户 +this.TextBox1.Text + 恭喜您登录成功!SessionUserName = this.TextBox1.Text;catch (Exception)this.Label1.Text =没有得到任何数据,请重试! ;注册用户检测用户名用户注册用户名:密码确认密码:姓名工性别: 出生日期, 联系地址】 邮政编码 联系电话隹丽H重-I带中的为必填项protected void

25、btn_Register_Click(object sender, EventArgs e) String Md5_User_Pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(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=sq

26、l2005);conn.Open();String SqlStr = insert into会员表(会员名,密码,名字,性别,出生日期,联系地址,邮政编码,联系电话)+ values。 + this.txt_User_Name.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.Sel

27、ectedItem.Text + ,+ + this.txt_Address.Text + , + this.txt_Postalcode.Text + , + this.txt_Tel.Text + );Boolean InsertResult;SqlCommand cmd = new SqlCommand(SqlStr, conn);int i = Convert.ToInt32(cmd.ExecuteNonQuery();if (i=1)this.Labinfo.Text =恭喜您注册成功!elsethis.Labinfo.Text =对不起,注册失败,请重试!this.txt_User

28、_Name.Focus ();显示电影register.aspxa href =ticketdetails.aspx?ticketid=img width =80 height =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.Dat

29、aList1.DataBind();catch (Exception);Response.Write(alert(没有获得任何数据,请检查! 电影详细介绍电影详细信息后退功夫熊猫价格;时间;31,00002009-1-1 0:00:00电影简介;饿ticketdetalis.aspxif (Page.IsPostBack = false)Ticket_ID = Request.QueryString.Get(0).ToString().Trim();SqlStr = select * from 电影表 where 电影编号=+ Ticket_ID;Ds = db.GetDataTableByS

30、ql(SqlStr);tryif (Ds.Tables0.Rows.Count != 0)this.Repeater1.DataSource = Ds.Tables0.DefaultView;this.Repeater1.DataBind(); Sessionticket_id = Ticket_ID;catch (Exception)Response.Write(alert(没有获得任何数据,请检查!);购物车调用。Net的数据库控件电影编号电影名称价格 数量修班数量删除131 功夫熊猫3LOOOO 二|修改数量| 画息金领;31继续购物清空购物车结算中心table border=1电影编号

31、电影名称 价格 数量 修改数量 删除 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.Repeater

32、1.DataSource = Ds.Tables0.DefaultView;this.Repeater1.DataBind();Sessionticket_id = Ticket_ID; catch (Exception) Response.Write(alert(没有获得任何数据,请检查!); 价格结算帑算中愁客户您好,您本次购物清单如下电影编号电影名称价格数量131 功夫熊猫31.0000 1金额总计:回元请选择发贷方式:平邮 w请选择付款方式】汇款3 其他要求:生成订单public partial class order : System.Web.UI.PageString SqlStr

33、;DB db = new DB();DataSet Ds = new DataSet();/绑定数据方法public void DataGridViewBind()SqlStr = select * from 购物车视图 where 会员名=+ SessionUsername + , Ds = db.GetDataTableBySql(SqlStr);trythis.GridView1.DataSource = Ds.Tables0.DefaultView;this.GridView1.DataBind();catch (Exception)Response.Write(alert(没有得到数

34、据,请重试! );/计算总金额public void total_money()SqlStr = select * from 购物车视图 where 会员名=+ SessionUsername + Ds = db.GetDataTableBySql(SqlStr);tryif (Ds.Tables0.Rows.Count != 0)Double price, sum = 0;int count;for (int i = 0; i Ds.Tables0.Rows.Count; i+) 通过循环得到总金额 price = Double.Parse(Ds.Tables0.Rowsi价格.ToStri

35、ng();count = int.Parse(Ds.Tables0.Rowsi数量.ToString();sum += price * count;this.total_money_txt.Text = sum.ToString();catch (Exception)Response.Write(alert(没有得到数据,请重试! );protected void Page_Load(object sender, EventArgs e)if (Page.IsPostBack = false)/SessionUsername = ning;if (SessionUsername != null

36、) DataGridViewBind();total_money(); else Response.Redirect(Error.aspx);protected void orderbtn_Click(object sender, EventArgs e)int max_order;SqlStr = select max叮单编号)from 订单表;Ds = db.GetDataTableBySql(SqlStr);/判断订单表中是否已有记录,如果有,则直接获取胜订单编号;否则,将最大订单编号设为1if (Ds.Tables0.Rows00.ToString() !=) max_order =

37、int.Parse(Ds.Tables0.Rows00.ToString() + 1; else max_order = 1;/生成订单SqlStr = insert into订单表(订单编号,会员名发货方式,付款方式,总金额,是否发货,备注)+ values。 + max_order.ToString() + , + SessionUsername + , + this.ddlconsignment.SelectedItem.Text + ,+ + this.ddlpayment.SelectedItem.Text + , + this.total_money_txt.Text.ToStri

38、ng().Trim() + ,0, + this.remarktxtbox.Text + );if (db.UpdateDataBySql(SqlStr) Boolean UpdateResult;/生成详细订单SqlStr = insert into详细订单表(会员名,电影编号,数量)select会员名,电影编号,数量from购 物车表where + 会员名=+ SessionUsername + ;UpdateResult = db.UpdateDataBySql(SqlStr);SqlStr = update 详细订单表 set 订单编号=+ max_order.ToString() +

39、 where 订单编号 is null;UpdateResult = db.UpdateDataBySql(SqlStr);/删除购物车中的数据SqlStr = delete from 购物车表 where 会员名=+ SessionUsername + ;UpdateResult = db.UpdateDataBySql(SqlStr);this.ordernolab.Visible = true;this.ordernolab.Text += max_order.ToString();管理员登陆落地孤渊网上影院后台入口落地孤渊工作室protected void btnLogin_Click

40、(object sender, EventArgs e) String Md5_User_Pwd =FormsAuthentication.HashPasswordForStoringInConfigFile(this.txt_User_Pwd.Text.ToString(), MD5);/ 作为密码 方式加密SqlStr = select * from 管理员表 where 用户名=+ this.txt_User_Name.Text + and 密码=+this.txt_User_Pwd.Text + ”;Ds = db.GetDataTableBySql(SqlStr);tryif (Ds

41、.Tables0.Rows.Count = 0)Response.Write(alert(用户名或密码错误,请重试!);this.txt_User_Name.Focus();else SessionAdmin_UserName = this.txt_User_Name.Text;Response.Write(window.location.href=admin_index.aspx;);catch (Exception)Response.Write(alert(没有得至I任何数据,请重试!);添加电影(灰色为存储过程的调用)添加电戢查看订单名称:价福50 上映时国I20054 电影时长:远一只

42、狮子的故事电影简介: 票数1200 图片:FAWebS片VmHtie喇子三蹬阳;一 1I增加电影Iprotected void Button1_Click(object sender, EventArgs e) if (SessionAdmin_UserName != null) try string path_file = FileUpload_Image.PostedFile.FileName.ToString(); string file_type = path_file.Substring(path_file.LastIndexOf(.);string file_name = Date

43、Time.Now.Year.ToString() + DateTime.Now.Month.ToString() +DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();full_name = file_name + file_type;string path = Server.MapPath(image) + full_name;FileUpload_Image.SaveAs(path); catch (Exception) Response.Wr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论