列车时刻查询及售票系统.docx
- 文档编号:8033409
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:18
- 大小:45.93KB
列车时刻查询及售票系统.docx
《列车时刻查询及售票系统.docx》由会员分享,可在线阅读,更多相关《列车时刻查询及售票系统.docx(18页珍藏版)》请在冰豆网上搜索。
列车时刻查询及售票系统
1需求分析(小标题黑体五号字)
系统用户管理;
车票信息管理(添加、修改、删除);
票务查询(站站查询、车次查询、站名查询);
订票;
退票;
统计。
2总体设计
系统流程图
数据库关系表
数据库表
1.列车信息总表
属性名
类型
长度
车次
Char
10
车种
Char
10
始发站
Char
10
终点站
Char
10
发时
Char
10
到时
Char
10
2.车票信息表
属性名
类型
长度
车次
Char
10
座位类型
Char
10
票价
Int
4
数量
Int
4
3.订票信息表
属性名
类型
长度
车次
Char
10
座位类型
Char
10
姓名
Char
10
身份证号
Char
20
联系方式
Char
20
3.详细设计
1.主界面
核心代码:
.*;
import
.*;
publicclassMenu{
publicstaticvoidmain(Stringargs[])
{
newEmp();
}
}
classEmpextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=1L;
JButtonb1,b2,b3,b4,b5;
Emp()
{
super("列车售票系统");
b1=newJButton("系统用户管理");
b2=newJButton("票务查询");
b3=newJButton("订票");
b4=newJButton("退票");
b5=newJButton("退出系统");
setLayout(newGridLayout(5,1));
add(b1);add(b2);add(b3);add(b4);add(b5);
(this);
(this);
(this);
(this);
(this);
addWindowListener(newwinX());
setLocation(550,200);
setSize(240,320);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{
if()==b1)
{
dispose();
newxtgl();
}
if()==b2)
{
dispose();
newpwcx();
}
if()==b3)
{
dispose();
newdp();
}
if()==b4)
{
dispose();
newtp();
}
if()==b5)
{
(0);
}
}
}
2.查询
核心代码:
.*;
import
.*;
.*;
classcccxextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=1L;
JLabellab1;
JButtonb1,b2;
JTextFieldinput;
Connectioncon;
Statementstmt;
ResultSetrs;
Stringsql;
JPanelp1,p2,p3;
JTextAreaa1;
cccx(){
super("车次查询");
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
lab1=newJLabel("车次:
");
(lab1);
input=newJTextField(10);
(input);
b1=newJButton("查询");
b2=newJButton("返回");
(b1);
(b2);
a1=newJTextArea();
(false);
(a1);
setLayout(newBorderLayout());
add(p1,;
add(p2,;
add(p3,;
(this);
(this);
addWindowListener(newwinX());
setLocation(400,200);
setSize(600,200);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
if()==b2){
dispose();
newpwcx();
}
if()==b1){
try{
con=(,"sa","1234");
stmt=();
rs=("select车票信息表.车次,车种,始发站,终点站,发时,到时,座位类型,票价,数量from列车信息总表,车票信息表where列车信息总表.车次=车票信息表.车次AND车票信息表.车次='"+()+"'");
if(!
())
{
("没有任何列车信息");
}
else
{
("车次车种始发站终点站发时到时座位类型票价数量\n");
("车次")+("车种")+("始发站")+""+("终点站")+""+("发时")+""+("到时")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
while())
("车次")+("车种")+("始发站")+""+("终点站")+""+("发时")+""+("到时")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
}
}catch(SQLExceptione1){
(null,"数据库连接错误!
");
};
}
}
}
3.修改
核心代码:
.*;
import
.*;
.*;
classxgcpextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=1L;
JLabellab1,lab2,lab3,lab4,lab5;
JTextFieldt1,t2,t3;
JButtonb1,b2;
Connectioncon;
PreparedStatementps,ps1;
Stringa="";
ResultSetrs;
Statementstmt;
JTextAreaa1;
JScrollPaneg1;
JPanelp1,p2,p3;
Choicex1;
xgcp()
{
super("修改车票信息");
p1=newJPanel();
p2=newJPanel();
p3=newJPanel();
a1=newJTextArea();
g1=newJScrollPane(a1);
(false);
lab1=newJLabel("车次");
lab2=newJLabel();
lab3=newJLabel("车次座位类型票价数量");
lab4=newJLabel("票价");
lab5=newJLabel("数量");
t1=newJTextField(10);
t2=newJTextField(10);
t3=newJTextField(10);
b1=newJButton("修改");
b2=newJButton("返回");
x1=newChoice();
("软卧");("硬座");
(lab1);(t1);(x1);(lab4);(t2);(lab5);(t3);
(b1);(b2);(lab2);
(g1);(lab3);
(newBorderLayout());
(lab3,;
(g1,;
setLayout(newBorderLayout());
add(p2,;
add(p3,;
add(p1,;
(this);
(this);
addWindowListener(newwinX());
try
{
stmt=();
rs=("SELECT*FROM车票信息表");
if(!
())
{
("没有车票信息!
");
}
else
{
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
while())
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
}
}catch(SQLExceptione1){
("数据库连接错误!
");
};
setLocation(400,150);
setSize(600,400);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{
if()==b2)
{
dispose();
newgl1();
}
if()==b1)
{
if().equals(a))
{
("车次不能为空!
");
}
elsetry
{
stmt=();
rs=("SELECT车次FROM车票信息表WHERE车次='"+()+"'");
if(!
())
(null,"没有车票信息!
!
");
else
{
rs=("SELECT车次FROM订票信息表WHERE车次='"+()+"'AND座位类型='"+()+"'");
if())
(null,"已有人预定了该票,无法修改!
!
");
else
{
ps1=("UPDATE车票信息表SET票价="+())+",数量="+())+"WHERE车次='"+()+"'AND座位类型='"+()+"'");
();
(null,"车票信息已修改!
!
");
}
}
}catch(SQLExceptione1){
(null,"数据库连接有误!
!
");
};
try
{
stmt=();
rs=("SELECT*FROM车票信息表");
if(!
())
{
("没有车票信息!
");
}
else
{
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
while())
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
}
}catch(SQLExceptione1){
("数据库连接错误!
");
};
}
}
}
4.统计
核心代码:
.*;
import
.*;
.*;
publicclasstjextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=1L;
JLabellab;
JTextAreaa1;
JScrollPaneg1;
JPanelp1,p2;
JButtonb1,b2;
Statementstmt;
Connectioncon;
ResultSetrs;
tj()
{
super("总计信息");
p1=newJPanel();
p2=newJPanel();
a1=newJTextArea();
(false);
g1=newJScrollPane(a1);
lab=newJLabel("车次车种始发站终点站发时到时座位类型票价数量");
b1=newJButton("修改");
b2=newJButton("返回");
(g1);(lab);
(b1);(b2);
(newBorderLayout());
(lab,;
(g1,;
setLayout(newBorderLayout());
add(p1,;
add(p2,;
try{
con=(,"sa","1234");
stmt=();
rs=("select列车信息总表.车次,车种,始发站,终点站,发时,到时,座位类型,票价,数量from列车信息总表,车票信息表where列车信息总表.车次=车票信息表.车次");
if(!
())
{
("没有任何列车信息");
}
else
{
("车次")+("车种")+("始发站")+""+("终点站")+""+("发时")+""+("到时")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
while())
("车次")+("车种")+("始发站")+""+("终点站")+""+("发时")+""+("到时")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
}
}catch(SQLExceptione1){
(null,"数据库连接错误!
");
};
addWindowListener(newwinX());
(this);
(this);
setSize(800,600);
setLocation(300,100);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{
if()==b2)
{
dispose();
newgl();
}
}
}
5.删除
核心代码:
.*;
import
.*;
.*;
classsccpextendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=1L;
JLabellab1,lab2,lab3;
JTextFieldt1;
JButtonb1,b2;
Connectioncon;
PreparedStatementps,ps1;
Stringa="";
ResultSetrs;
Statementstmt;
JTextAreaa1;
JScrollPaneg1;
JPanelp1,p2;
Choicex1;
sccp()
{
super("删除车票信息");
p1=newJPanel();
p2=newJPanel();
a1=newJTextArea();
g1=newJScrollPane(a1);
(false);
lab1=newJLabel("车次");
lab2=newJLabel();
lab3=newJLabel("车次座位类型票价数量");
t1=newJTextField(10);
b1=newJButton("删除");
b2=newJButton("返回");
x1=newChoice();
("软卧");("硬座");
(lab1);(t1);(x1);(b1);(b2);(lab2);
(g1);(lab3);
(newBorderLayout());
(lab3,;
(g1,;
setLayout(newBorderLayout());
add(p2,;
add(p1,;
(this);
(this);
addWindowListener(newwinX());
try
{
con=(,"sa","1234");
stmt=();
rs=("SELECT*FROM车票信息表");
if(!
())
{
("没有车票信息!
");
}
else
{
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
while())
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
}
}catch(SQLExceptione1){
("数据库连接错误!
");
};
setLocation(400,150);
setSize(450,500);
setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{
if()==b2)
{
dispose();
newgl1();
}
if()==b1)
{
if().equals(a))
{
("车次不能为空!
");
}
elsetry
{
con=(,"sa","1234");
stmt=();
rs=("SELECT车次FROM车票信息表WHERE车次='"+()+"'");
if(!
())
(null,"没有车票信息!
!
");
else
{
rs=("SELECT车次FROM订票信息表WHERE车次='"+()+"'AND座位类型='"+()+"'");
if())
(null,"已有人预定了该票,无法删除!
!
");
else
{
ps1=("DELETEFROM车票信息表WHERE车次='"+()+"'AND座位类型='"+()+"'");
();
(null,"车票信息已删除!
!
");
}
}
}catch(SQLExceptione1){
(null,"数据库连接有误!
!
");
};
try
{
con=(,"sa","1234");
stmt=();
rs=("SELECT*FROM车票信息表");
if(!
())
{
("没有车票信息!
");
}
else
{
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
while())
("车次")+""+("座位类型")+""+("票价")+""+("数量")+"\n");
}
}catch(SQLExceptione1){
("数据库连接错误!
");
};
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 列车时刻 查询 售票 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)