用数据库设计影院售票管理系统.docx

上传人:b****3 文档编号:27504303 上传时间:2023-07-02 格式:DOCX 页数:44 大小:470.22KB
下载 相关 举报
用数据库设计影院售票管理系统.docx_第1页
第1页 / 共44页
用数据库设计影院售票管理系统.docx_第2页
第2页 / 共44页
用数据库设计影院售票管理系统.docx_第3页
第3页 / 共44页
用数据库设计影院售票管理系统.docx_第4页
第4页 / 共44页
用数据库设计影院售票管理系统.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

用数据库设计影院售票管理系统.docx

《用数据库设计影院售票管理系统.docx》由会员分享,可在线阅读,更多相关《用数据库设计影院售票管理系统.docx(44页珍藏版)》请在冰豆网上搜索。

用数据库设计影院售票管理系统.docx

用数据库设计影院售票管理系统

一.系统概述;

1.设计需求;

现在中国大部分的家庭都喜欢在家里置办属于自己风格的家庭影院。

但是,仍然有很多人喜欢到电影院去看电影。

因为家里的气氛毕竟不如影院好。

所以,现代家庭影院的出现并不会让电影院没有生路。

每个社会服务系统都有自己的一套管理机制。

当然,电影院也不除外。

其实电影院的管理系统应该来说比其他的社会服务系统的管理要简单一点。

电影院不外乎是引进电影,制定播放影片的时间表,买票,检票进场观看,还有就是一些数据管理方面的事。

如工作人员管理,票务管理等等。

为了工作机制简单有序,必然要引进一套管理系统。

2.需求分析;

具体而言,影院售票系统需要实现以下的需求:

(1)能够对播放电影,工作人员,售票事宜,检票事宜,无用数据进行处理。

(2)售票管理自然有专人负责,要处理各电影的电影票销售问题。

当然包括退票问题,还有就是预订电影票其实也就相当于买票。

两者可以当一回事处理。

(3)检票管理事宜要完成观众进场时检票的事宜。

其中包括了电影票的真假检测问题。

(4)数据管理要处理电影的播放的次序,工作人员的管理,以及过期电影票的处理问题。

二.结构设计

 

 

 

三.设计说明

1.分析与创建数据库;

根据系统的功能分析结果,影院售票管理系统将会使用MicrosoftSQLSever2000作为后台的数据库管理系统。

本管理系统是应用于电影院中,而且需要和数据库之间进行频繁数据交换,所以采用MicrosoftSQLSever2000作为后台的数据库管理系统。

在本管理系统中,需要掌握影库充实信息,职工管理信息,票务管理信息,此外,由于要进行职工管理,还需要掌握使用本系统的职工。

表1存储硬库信息列表,表2存储了电影院座位的相关数据连接关系,表3存储了电影票销售情况管理,表4存储了系统使用者职工的相关情况的管理列表。

表1影库管理表---MOVIES

字段名称

数据类型

字段属性

字段大小

作用

必填字段

索引

是否主键

Movie_id

smallint

2

电影号

有(无重复)

Movie_name

Nvarchar

50

电影名称

actor

Nvarchar

50

导演

actress

Nvarchar

50

主演

producer

Nvarchar

25

制片厂

palydate

datetime

8

上映时间

表2电影院座位管理表---SEATS

字段名称

数据类型

字段属性

字段大小

作用

必填字段

索引

是否主键

seatid

smallint

2

座位号

有(无重复)

price

float

8

票价

soldornot

smallint

2

是否售出

表3电影票信息表---TICKETS

字段名称

数据类型

字段属性

字段大小

作用

必填字段

索引

是否主键

ticketsid

smallint

2

电影票号

有(无重复)

seatid

smallint

2

座位号

Movie_id

smallint

2

电影号

Movie_name

Nvarchar

50

电影名

palydate

datetime

8

上映时间

price

float

8

价格

yanzhengma

smallint

2

验证码

表4职工信息表---WORKERS

字段名称

数据类型

字段属性

字段大小

作用

必填字段

索引

是否主键

workerid

smallint

2

职工号

password

smallint

2

职工密码

leibie

smallint

2

职工类型

根据规范化的设计理念,本管理系统的数据分成上面4个表,减少了数据的冗余,同时在这些表之间又存在着一些关联关系。

这四个表之间的这两种关系表现在下图所示的关系:

2.创建登陆窗体模块;

(1)窗体模块的功能

登陆窗体

(2)窗体界面的设计

在工程中添加一个窗体,命名为“登陆系统”,用来作为系统登陆窗体。

界面

的设计如图3所示。

(3)窗体代码

ImportsSystem.Data.SqlClient

PublicClassForm1

InheritsSystem.Windows.Forms.Form

DimnavigatorAsBindingManagerBase'用来对记录导航

DimmyconAsNewSqlConnection'连接对象

DimmycomAsNewSqlCommand'命令对象

Dimmycom1AsNewSqlCommand

Dimfrm2AsNewForm2

Dimfrm3AsNewForm3

Dimfrm8AsNewForm8

PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTimer1.Tick

StatusBar1.Panels(0).Text=DateTime.Today

StatusBar1.Panels

(1).Text=DateTime.Now.ToString("T")

EndSub

PrivateSubGroupBox1_Enter(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesGroupBox1.Enter

IfRadioButton1.Checked=TrueThen

RadioButton2.Checked=False

RadioButton3.Checked=False

ElseIfRadioButton2.Checked=TrueThen

RadioButton1.Checked=False

RadioButton3.Checked=False

ElseIfRadioButton3.Checked=TrueThen

RadioButton1.Checked=False

RadioButton2.Checked=False

EndIf

EndSub

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

AxShockwaveFlash1.Movie="E:

\实验运行场\VB.NET程序设计\电影院票务系统\image\登陆界面1.swf"

AxShockwaveFlash1.Playing=False

AxShockwaveFlash1.Stop()

Dimtox1AsInt32

Dimtox2AsInt32

DimmydataadapterAsNewSqlDataAdapter

DimmydsAsNewDataSet

DimiAsInteger

DimjAsInteger

tox1=Val(TextBox1.Text)

tox2=Val(TextBox2.Text)

mycon.ConnectionString="initialcatalog=ticketbooking;userid=sa;password=;"

mycom.Connection=mycon'通过MYCON连接对象操作数据库

mycom.CommandType=CommandType.Text'设置命令类型

mycom.CommandText="select*fromworkers"'设置要执行的命令

Try

mycon.Open()

mydataadapter.SelectCommand=mycom

CatchexAsException

MessageBox.Show("连接失败")

Finally

mycon.Close()

EndTry

mydataadapter.Fill(myds,"workers")

Fori=0Tomyds.Tables("workers").Rows.Count-1

Iftox1=Val(myds.Tables("workers").Rows(i).ItemArray(0))Then

j=0

ExitFor

Else

j=1

EndIf

Next

Fori=0Tomyds.Tables("workers").Rows.Count-1

Iftox2=Val(myds.Tables("workers").Rows(i).ItemArray

(1))Then

j=0

ExitFor

Else

j=1

EndIf

Next

Ifj=1Then

MessageBox.Show("您的工号或者密码错误","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

Else

Try

mycom1.Connection=mycon'通过MYCON连接对象操作数据库

mycom1.CommandType=CommandType.Text'设置命令类型

mycom1.CommandText="selectleibiefromworkerswhereworkerid="+CStr(tox1)+"andpassword="+CStr(tox2)+""'设置要执行的命令

Dimmydataadapter1AsNewSqlDataAdapter

mydataadapter1.SelectCommand=mycom1

Dimmyds1AsNewDataSet

mydataadapter1.Fill(myds1,"workers")

IfRadioButton1.Checked=TrueAndVal(myds1.Tables("workers").Rows(0)("leibie"))=1Then

frm2.Show()

Me.Hide()

ElseIfRadioButton2.Checked=TrueAndVal(myds1.Tables("workers").Rows(0)("leibie"))=2Then

frm3.Show()

Me.Hide()

ElseIfRadioButton3.Checked=TrueAndVal(myds1.Tables("workers").Rows(0)("leibie"))=3Then

frm8.Show()

Me.Hide()

Else

MessageBox.Show("您超出职责范围或未选择服务系统,请重新输入!

","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Warning,MessageBoxDefaultButton.Button1)

EndIf

CatchexAsException

EndTry

EndIf

EndSub

PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

AxShockwaveFlash1.Movie="E:

\实验运行场\VB.NET程序设计\电影院票务系统\image\登陆界面1.swf"

AxShockwaveFlash1.Play()

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

DimexitformAsNewForm7

Ifexitform.ShowDialog=DialogResult.OKThen

exitform.Close()

Me.Close()

Application.Exit()

EndIf

EndSub

EndClass

3.创建售票窗体模块

(1)窗体模块的功能

为观众提供买票服务。

在界面上观众可以看见座位的情况,根据此来选择自己喜欢的座位。

不同的座位有不同的价格。

此窗体还有退票功能。

(2)窗体界面的设计

在工程中添加一个窗体,命名为“售票系统”,用来作为仓管人员窗体。

界面

的设计如下图所示。

(3)代码编写

ImportsSystem.Data.SqlClient

PublicClassForm2

InheritsSystem.Windows.Forms.Form

DimnavigatorAsBindingManagerBase'用来对记录导航

DimmyconAsNewSqlConnection'连接对象

DimmycomAsNewSqlCommand'命令对象

PrivateSubForm2_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

'Me.Show()

AxShockwaveFlash1.Movie="E:

\实验运行场\VB.NET程序设计\电影院票务系统\image\销售界面.swf"

AxShockwaveFlash1.Play()

AxShockwaveFlash2.Movie="E:

\实验运行场\VB.NET程序设计\电影院票务系统\image\检票界面下.swf"

AxShockwaveFlash2.Play()

DimmydataadapterAsNewSqlDataAdapter

DimmydsAsNewDataSet

DimiAsInteger

DimjAsInteger

DimstrrowAsString

DimdtAsNewDataTable

mycon.ConnectionString="initialcatalog=ticketbooking;userid=sa;password=;"

mycom.Connection=mycon'通过MYCON连接对象操作数据库

mycom.CommandType=CommandType.Text'设置命令类型

mycom.CommandText="select*fromMovies"'设置要执行的命令"

Try

mycon.Open()

mydataadapter.SelectCommand=mycom

mydataadapter.Fill(myds,"Movies")

CatchexAsException

MessageBox.Show("连接失败")

Finally

mycon.Close()

EndTry

Try

Fori=0Tomyds.Tables("Movies").Rows.Count-1

strrow=myds.Tables("Movies").Rows(i)("movie_name")

ComboBox1.Items.Add(strrow)

Next

CatchexAsException

MessageBox.Show(ex.ToString)

EndTry

EndSub

PrivateSubButton1_Click_1(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimiAsInteger

DimtickethaoAsInteger

DimmoviehaoAsInteger

DimsuijiAsInteger

Dimmydataadapter3AsNewSqlDataAdapter

Dimmyds3AsNewDataSet

Dimdt3AsNewDataTable

Dimmycom3AsNewSqlCommand

Dimmycon3AsNewSqlConnection

Randomize()

suiji=Int(9000*Rnd()+1000)

Try

tickethao=tickets_id()

moviehao=movieid()

mycon3.ConnectionString="initialcatalog=ticketbooking;userid=sa;password=;"

mycom3.Connection=mycon3'通过MYCON连接对象操作数据库

mycom3.CommandType=CommandType.Text'设置命令类型

CatchexAsException

MessageBox.Show(ex.ToString)

EndTry

Iftickethao=0Then

Try

MessageBox.Show("此座位已售出,请重新选择!

","错误")

ComboBox1.Text=""

TextBox1.Text=""

TextBox2.Text=""

TextBox3.Text=""

TextBox4.Text=""

TextBox5.Text=""

CatchexAsException

MessageBox.Show(ex.ToString)

EndTry

Else

Try

mycon3.Open()

mycom3.CommandText="insertintotickets(ticketsid,seatid,movie_id,movie_name,palydate,price,yanzhengma)values("+CStr(tickethao)+","+TextBox4.Text+","+CStr(moviehao)+",'"+TextBox2.Text+"','"+TextBox1.Text+"',"+TextBox5.Text+","+CStr(suiji)+")"

DimsqlAsString

sql="insertintotickets(ticketsid,seatid,movie_id,movie_name,palydate,price,yanzhengma)values("+CStr(tickethao)+","+TextBox4.Text+","+CStr(moviehao)+",'"+TextBox2.Text+"','"+TextBox3.Text+"',"+TextBox5.Text+","+CStr(suiji)+")"

mydataadapter3.InsertCommand=mycom3

Try

mycom3.ExecuteNonQuery()

MessageBox.Show("售票成功!

","谢谢观看")

CatchexAsException

MsgBox(ex.ToString)

EndTry

CatchexAsException

MessageBox.Show(ex.ToString)

EndTry

mycon3.Close()

ComboBox1.Text=""

TextBox1.Text=""

TextBox2.Text=""

TextBox3.Text=""

TextBox4.Text=""

TextBox5.Text=""

EndIf

revoke_seat()

EndSub

PrivateSubComboBox1_SelectedIndexChanged_1(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesComboBox1.SelectedIndexChanged

revoke_seat()

Dimmydataadapter1AsNewSqlDataAdapter

Dimmydataadapter11AsNewSqlDataAdapter

Dimmyds1AsNewDataSet

Dimmyds11AsNewDataSet

Dimdt1AsNewDataTable

Dimdt11AsNewDataTable

Dimmycom1AsNewSqlCommand

Dimmycom11AsNewSqlCommand

mycon.ConnectionString="initialcatalog=ticketbooking;userid=sa;password=;"

mycom1.Connection=mycon'通过MYCON连接对象操作数据库

mycom1.CommandType=CommandType.Text'设置命令类型

mycom11.Connection=mycon

mycom11.CommandType=CommandType.Text

Try

mycon.Open()

mycom11.CommandText="selectpalydatefromMovieswheremovie_name='"+ComboBox1.Text+"'"

my

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1