电影票务信息管理系统1.docx

上传人:b****5 文档编号:8479483 上传时间:2023-01-31 格式:DOCX 页数:75 大小:454.30KB
下载 相关 举报
电影票务信息管理系统1.docx_第1页
第1页 / 共75页
电影票务信息管理系统1.docx_第2页
第2页 / 共75页
电影票务信息管理系统1.docx_第3页
第3页 / 共75页
电影票务信息管理系统1.docx_第4页
第4页 / 共75页
电影票务信息管理系统1.docx_第5页
第5页 / 共75页
点击查看更多>>
下载资源
资源描述

电影票务信息管理系统1.docx

《电影票务信息管理系统1.docx》由会员分享,可在线阅读,更多相关《电影票务信息管理系统1.docx(75页珍藏版)》请在冰豆网上搜索。

电影票务信息管理系统1.docx

电影票务信息管理系统1

淮海工学院计算机工程学院

实验报告书

课程名:

《面向对象程序设计》

实验名称:

基于图形用户界面的JDBC程序开发

电影票务信息管理系统

班级:

软件081

组长:

XX

组员:

XX

 

一.目的:

1.掌握Java图形界面的设计方法,熟练运用GUI标准组件,理解Java的事件处理机制。

2.综合运用所学的Java语言面向对象的编程技术,重点体现面向对象的编程思想,学会运用JDBC技术。

二.题目:

在作业三的基础上,利用Access设计一个后台数据库,将选题最终开发成与数据库相关的应用程序。

三.要求:

1.每队根据选题需要设计一个Access数据库,数据库中一般不少于3个数据表,表结构与命名由组员根据系统功能自行设计;

但所有团队的数据库名字为DBInfo,JDBC数据源的名字统一用DBConn,用户名user,密码123456;

2.各位同学利用自己设计的用户界面进行数据采集、处理,主要包括信息录入、维护和查询等;必须实现通过用户界面将前两次作业中编写的类、方法与数据库协调调用起来;

3.在源程序和实验报告中对本次作业新加的部分要进行重点说明;

4.提交时间:

6月4日 

四、实验步骤与源程序

1.选题与团队分工

◆选题:

电影票务信息管理系统

◆分工:

角色

姓名

承担的具体任务

组长

李晓天

主界面,退票功能及数据库的实现

组员

陈点点

票务管理功能的实现

组员

杨娟

用户功能的实现

2.系统需求分析

◆系统功能描述

电影票务信息管理信息主要有三个用户,一个是系统管理员,负责系统中所有功能,第二个是票务管理员,主要进行电影票的增加,修改以及删除等功能。

第三个是普通用户,只可以进行订票,退票以及用户列表等功能的操作。

 

◆系统用例图

 

3.系统类图设计

杨娟李晓天陈点点

4.源程序

李晓天:

数据库模块:

packagelxt;

importjava.sql.*;

importjava.util.*;

publicclassDataBaseManager

{

Connectioncon;//声明对象

ResultSetrs,rs1;//声明ResultSet对象

Statementstmt,stmt1;//声明Statement对象

PreparedStatementsql=null;

//Access数据库连接字符串

Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";//数据库连接驱动程序

Stringurl="jdbc:

odbc:

driver={MicrosoftAccessDriver(*.mdb)};DBQ=CinemaBase.mdb";//数据库类型、位置、名称,换成自己的数据库文件

Stringuser="user";//数据库访问账号

Stringpwd="123456";//数据库访问密码

Stringnotes="数据库操作结果提示";

Vectorv=newVector(2,1);//将查询结果用向量带出来

publicDataBaseManager()//数据库连接

{

try

{

Class.forName(driver);

con=DriverManager.getConnection(url,user,pwd);

stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

stmt1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

}

catch(ClassNotFoundExceptioncnfex)

{

System.err.println("FailedtoloadJDBC/ODBCdriver.");//标准错误

cnfex.printStackTrace();//捕获加载驱动程序异常

System.exit

(1);//terminateprogram

}

catch(SQLExceptionsqle)

{

System.out.println(sqle.toString());

}

catch(Exceptionex)

{

System.out.println(ex);

}

}

更新(多态):

publicResultSetgetResult(StringstrSQL,ResultSetrs,intx)//查询数据库记录,并返回查询结果的记录集

{

try//捕获返回结果时的异常

{

if(x==0)

rs=stmt.executeQuery(strSQL);//返回相应类型结果集

if(x==1)

rs=stmt1.executeQuery(strSQL);//返回相应类型结果集

returnrs;

}

catch(SQLExceptionsqle)

{

System.out.println(sqle.toString());

notes="数据库查询出现异常!

";

returnnull;

}

}

publicResultSetgetResult(StringstrSQL)//查询数据库记录,并返回查询结果的记录集

{

try//捕获返回结果时的异常

{

rs=stmt.executeQuery(strSQL);//返回相应类型结果集

returnrs;

}

catch(SQLExceptionsqle)

{

System.out.println(sqle.toString());

notes="数据库查询出现异常!

";

returnnull;

}

}

publicbooleanupdateSql(StringstrSQL)

{

try//捕获添加新纪录时的异常

{

stmt.executeUpdate(strSQL);//向数据库表中添加新纪录

mit();

returntrue;

}

catch(SQLExceptionsqle)

{

System.out.println(sqle.toString());

returnfalse;

}

}

publicvoidcloseConnection()

{

try//捕获连接时的异常

{

con.close();

}

catch(SQLExceptionsqle)

{

System.out.println(sqle.toString());

}

}

}

有更新(将此界面改为登录后界面):

MainWindow模块:

packagelxt;

importcdd.*;

importyj.*;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassMainWindowextendsJFrameimplementsActionListener

{

JPanelpanel1;//定义面板

Containerc;//定义容器

JMenuBarMenuB;//定义表单

JMenuSystemMenu,TicketMGRMenu,TicketSellMenu,

ReturnTicketMenu,InfoBrowseMenu,UserMGRMenu;

JMenuItemUserLoginMenuItem,UserAddMenuItem,UserModifyMenuItem,UserDeleteMenuItem,ExitMenuItem,

TicketAddMenuItem,TicketModifyMenuItem,TicketDeleteMenuItem,

TicketSellMenuItem,ReturnTicketMenuItem,

TicketListMenuItem,UserListMenuItem;

JLabeltitleLabel;//定义标签

publicMainWindow()

{

super("电影票务信息管理系统");//初始化菜单

//--系统管理菜单--

MenuB=newJMenuBar();

SystemMenu=newJMenu("系统管理");

UserMGRMenu=newJMenu("用户管理")

UserAddMenuItem=newJMenuItem("添加用户");

UserModifyMenuItem=newJMenuItem("修改用户");

UserDeleteMenuItem=newJMenuItem("删除用户");

ExitMenuItem=newJMenuItem("退出");

SystemMenu.add(UserMGRMenu);//添加菜单

UserMGRMenu.add(UserAddMenuItem);

UserMGRMenu.add(UserModifyMenuItem);

UserMGRMenu.add(UserDeleteMenuItem);

SystemMenu.add(ExitMenuItem);

UserAddMenuItem.addActionListener(this);

UserModifyMenuItem.addActionListener(this);

UserDeleteMenuItem.addActionListener(this);

ExitMenuItem.addActionListener(this);

MenuB.add(SystemMenu);

//---电影票管理菜单--

TicketMGRMenu=newJMenu("电影票管理");//初始化菜单

TicketAddMenuItem=newJMenuItem("添加电影票");

TicketModifyMenuItem=newJMenuItem("修改电影票");

TicketDeleteMenuItem=newJMenuItem("删除电影票");

TicketMGRMenu.add(TicketAddMenuItem);//添加菜单

TicketMGRMenu.add(TicketModifyMenuItem);

TicketMGRMenu.add(TicketDeleteMenuItem);

TicketAddMenuItem.addActionListener(this);//注册监听

TicketModifyMenuItem.addActionListener(this);

TicketDeleteMenuItem.addActionListener(this);

MenuB.add(TicketMGRMenu);

//--出售管理菜单--

TicketSellMenu=newJMenu("出售管理");

TicketSellMenuItem=newJMenuItem("电影票出售");

TicketSellMenu.add(TicketSellMenuItem);

TicketSellMenuItem.addActionListener(this);

MenuB.add(TicketSellMenu);

//--退票管理菜单--

ReturnTicketMenu=newJMenu("退票管理");

ReturnTicketMenuItem=newJMenuItem("电影票退还");

//添加表单

ReturnTicketMenu.add(ReturnTicketMenuItem);

ReturnTicketMenuItem.addActionListener(this);

MenuB.add(ReturnTicketMenu);

//--信息一览菜单--

InfoBrowseMenu=newJMenu("信息一览");

TicketListMenuItem=newJMenuItem("电影票列表");

UserListMenuItem=newJMenuItem("用户列表");

//添加表单

InfoBrowseMenu.add(TicketListMenuItem);

InfoBrowseMenu.add(UserListMenuItem);

//注册,监听

TicketListMenuItem.addActionListener(this);

UserListMenuItem.addActionListener(this);

MenuB.add(InfoBrowseMenu);

setJMenuBar(MenuB);//将菜单条添加到窗口的顶端

titleLabel=newJLabel(newImageIcon(".\\pic.jpg"));

c=getContentPane();

c.setLayout(newBorderLayout());

panel1=newJPanel();

panel1.setLayout(newBorderLayout());

panel1.add(titleLabel,BorderLayout.CENTER);

c.add(panel1,BorderLayout.CENTER);

setBounds(400,200,400,300);

setVisible(true);

//--设置初始功能:

--

UserMGRMenu.setEnabled(false);

TicketMGRMenu.setEnabled(false);

TicketSellMenu.setEnabled(false);

ReturnTicketMenu.setEnabled(false);

InfoBrowseMenu.setEnabled(false);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

//--设置每个菜单点击后出现的窗口和窗口显示的位置--

publicvoidactionPerformed(ActionEvente)

{

if(e.getActionCommand().equals("添加用户"))

{//初始化添加用户窗口

UserAddUserAddFrame=newUserAdd();

UserAddFrame.setLocation(160,140);//弹出框位置

UserAddFrame.pack();

UserAddFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("修改用户"))

{//初始化修改用户窗口

UserModifyUserModifyFrame=newUserModify();

UserModifyFrame.setLocation(160,140);//弹出框位置

UserModifyFrame.pack();

UserModifyFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("删除用户"))

{//初始化删除用户窗口

UserDeleteUserDeleteFrame=newUserDelete();

UserDeleteFrame.setLocation(150,150);//弹出框位置

UserDeleteFrame.pack();

UserDeleteFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("添加电影票"))

{//初始化添加窗口

TicketAddTicketAddFrame=newTicketAdd();

TicketAddFrame.setLocation(130,110);//弹出框位置

TicketAddFrame.pack();

TicketAddFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("修改电影票"))

{//初始化修改窗口

TicketModifyTicketModifyFrame=newTicketModify();

TicketModifyFrame.setLocation(130,110);//弹出框位置

TicketModifyFrame.pack();

TicketModifyFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("删除电影票"))

{//初始化删除窗口

TicketDeleteTicketDeleteFrame=newTicketDelete();

TicketDeleteFrame.setLocation(150,150);//弹出框位置

TicketDeleteFrame.pack();

TicketDeleteFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("电影票出售"))

{//初始化出售窗口

TicketSellTicketSellFrame=newTicketSell();

TicketSellFrame.setLocation(160,140);//弹出框位置

TicketSellFrame.pack();

TicketSellFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("电影票退还"))

{//初始化退还窗口

ReturnTicketReturnTicketFrame=newReturnTicket();

ReturnTicketFrame.setLocation(160,140);//弹出框位置

ReturnTicketFrame.pack();

ReturnTicketFrame.setVisible(true);//显示位置

}

elseif(e.getActionCommand().equals("电影票列表"))

{//初始化列表

TicketListTicketListFrame=newTicketList();

TicketListFrame.setLocation(110,130);//弹出框位置

TicketListFrame.pack();

TicketListFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("用户列表"))

{//初始化用户列表

UserListUserListFrame=newUserList();

UserListFrame.setLocation(120,140);//弹出框位置

UserListFrame.pack();

UserListFrame.setVisible(true);//显示窗口

}

elseif(e.getActionCommand().equals("退出"))

{

this.dispose();

System.exit(0);

}

}

//--设置登录用户的权限--

publicvoidsetEnable(StringpowerType)

{

if(powerType.equals("系统管理员"))

{

UserMGRMenu.setEnabled(true);//系统管理员拥有所有权限

TicketMGRMenu.setEnabled(true);

TicketSellMenu.setEnabled(true);

ReturnTicketMenu.setEnabled(true);

InfoBrowseMenu.setEnabled(true);

UserListMenuItem.setEnabled(true);

}

elseif(powerType.equals("电影票管理员"))

{

UserMGRMenu.setEnabled(false);//电影票管理员只有票务管理权限

TicketMGRMenu.setEnabled(true);

TicketSellMenu.setEnabled(false);

ReturnTicketMenu.setEnabled(false);

InfoBrowseMenu.setEnabled(true);

UserListMenuItem.setEnabled(false);

}

elseif(powerType.equals("普通用户"))

{

UserMGRMenu.setEnabled(false);//设置权限

TicketMGRMenu.setEnabled(false);

TicketSellMenu.setEnabled(true);

ReturnTicketMenu.setEnabled(true);

InfoBrowseMenu.setEnabled(true);

UserLis

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

当前位置:首页 > 高等教育 > 艺术

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

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