列车时刻查询及售票系统_第1页
列车时刻查询及售票系统_第2页
列车时刻查询及售票系统_第3页
列车时刻查询及售票系统_第4页
列车时刻查询及售票系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、1需求分析(小标题黑体五号字)系统用户管理;车票信息管理(添加、修改、删除);票务查询(站站查询、车次查询、站名查询)订票;退票;统计。2总体设计系统流程图列车售票系统7西息始出车-性曲 :欠本冲信终点站发时退出系统型厂车次查Char10Char10Char10Char10Char10到时Char102.车票信息表属性 名长度车次Char10座位类型Char10票价Int4数量Int4订票信息表属 性 名长度车次Char10座位类型Char10姓名Char10身份证号Char20联系方式Char203.3.详细设计1.主界面核心代码:importimportjava.awt.*;import

2、publicjavax.swing.*;class Menu public static new Emp(); void main(String args口)class Emp private JButtonextendsstaticJFramefinalbl , b2 , b3 , b4 ,implements ActionListener long serialVersionUID = 1L;b5;Emp() super("列车售票系统b1 =newJButton(b2 = newb3 = newb4 = newb5 = newJButton(JButton(JButton(JB

3、utton(");系统用户管理");票务查询");订票");退票");退出系统”);setLayout( newGridLayout(5,1);add( b1 );add( b2);add( b3);add( b4);add( b5);b1 .addActionListener(b2 .addActionListener(b3 .addActionListener(b4 .addActionListener(b5 .addActionListener(thisthisthisthisthis);););););new winX();addWin

4、dowListener( setLocation(550,200);setSize(240,320); setVisible( true ); public void actionPerformed(ActionEvent e) if (e.getSource()= b1 ) dispose(); new xtgl();if (e.getSource()= b2 ) dispose(); new pwcx();if (e.getSource()= b3 )dispose(); new dp();if (e.getSource()= b4 ) dispose(); new tp();if (e.

5、getSource()= b5 )1. System. exit (0);2. 查询核心代码:import java.awt.*;importimport java.sql.*;import javax.swing.*;class cccx extends JFrame implements ActionListener private static final long serialVersionUID = 1L;JLabellab1 ;JButton b1 , b2 ;JTextFieldinput ;Connectioncon ;Statement stmt ;ResultSet rs

6、;String sql ;JPanel p1 , p2 , p3 ;JTextArea a1 ; cccx() super ( " 车次查询" );p1 =new JPanel();p2 =new JPanel();p3 =new JPanel();lab1 =new JLabel( " 车次 :" );p1 .add( lab1 );input =new JTextField(10);p1 .add( input );b1 =new JButton(" 查询" );b2 =new JButton(" 返回" );

7、p2 .add( b1 );p2 .add( b2 );a1 =new JTextArea();a1 .setEditable( false );p3 .add( a1 );setLayout( new BorderLayout();add(p1,BorderLayout.NORTH);add(p2,BorderLayout.SOUTH);add(p3,BorderLayout.CENTER);b1 .addActionListener(this );b2 .addActionListener(this );addWindowListener( new winX();setLocation(4

8、00,200);setSize(600,200);setVisible( true );public void actionPerformed(ActionEvent e) if (e.getSource()= b2 ) dispose();new pwcx();if (e.getSource()= b1 ) try con =DriverManager. getConnection (, "sa" , "1234" );stmt =con .createStatement();rs =stmt .executeQuery( "select 车

9、票信息表. 车次 ,车种 , 始发站 , 终点站 , 发时 , 到时 , 座位类型, 票价 , 数量 from 列车信息总表车票信息表where 列车信息总表. 车次 =车票信息表. 车次 AND 车票信息表车次 ='" +input .getText()+ "'" );if (! rs .next()" 没有任何列车信息" );" 车次车种始发站到 时座位类型rs .getString( " 车次a1 .setText( elsea1 .setText(终点站发 时a1 .append(票 价数量 n&qu

10、ot; );)+ rs .getString(+rs .getString( +rs .getString( )+ ""车种 " )+ rs .getString( " 始发站 " )+" 终点站 " )+ " " +rs .getString( " 发时 " )+ "" 到时 " )+ "" +rs .getString( " 座位类型+rs .getString( " 票价 " )+ "+rs

11、 .getString( " 数量 " )+ "n" );while ( rs .next()a1 .append( rs .getString( " 车次+rs .getString( +rs .getString( )+ ""+rs .getString()+ rs .getString( " 车种 " )+ rs .getString( " 始发站 " )+" 终点站 " )+ " " +rs .getString( " 发时 &

12、quot; )+ "" 到时 " )+ "" +rs .getString( " 座位类型+rs .getString( " 票价 " )+ "" 数量 " )+ "n" ); catch (SQLException e1)JOptionPane. showMessageDialog ( null , " 数据库连 接错误!" );3. 修改核心代码:import java.awt.*;import javax.swing.*;import ja

13、va.sql.*;class xgcp extends JFrame implements ActionListenerprivate static final long serialVersionUID = 1L;JLabel lab1,lab2,lab3,lab4,lab5;JTextField t1,t2,t3;JButton b1,b2;Connection con;PreparedStatement ps,ps1;String a=""ResultSet rs;Statement stmt;JTextArea a1;JScrollPane g1;JPanel p1

14、,p2,p3;Choice x1;xgcp()super(" 修改车票信息");p1=new JPanel();p2=new JPanel();p3=new JPanel();a1=new JTextArea();g1=new JScrollPane(a1);a1.setEditable(false);lab1=new JLabel(" 车次 ");lab2=new JLabel();座位类型票价lab3=new JLabel(" 车次量 ");lab4=new JLabel("票价");lab5=new JLab

15、el("数量");t1=new JTextField(10);t2=new JTextField(10);t3=new JTextField(10);b1=new JButton(" 修改 ");b2=new JButton(" 返回 ");x1=new Choice();x1.add(" 软卧 ");x1.add(" 硬座 ");p1.add(lab1);p1.add(t1);p1.add(x1);p1.add(lab4);p1.add(t2);p1.add(lab5);p1.add(t3);

16、p3.add(b1);p3.add(b2);p3.add(lab2);p2.add(g1);p2.add(lab3);p2.setLayout(new BorderLayout();p2.add(lab3,BorderLayout.NORTH);p2.add(g1,BorderLayout.CENTER);setLayout(new BorderLayout();add(p2,BorderLayout.CENTER);add(p3,BorderLayout.SOUTH);add(p1,BorderLayout.NORTH);b1.addActionListener(this);b2.addAc

17、tionListener(this);addWindowListener(new winX();trystmt=con.createStatement();rs=stmt.executeQuery("SELECT * FROM 车票信息表");if(!rs.next()a1.setText(" 没有车票信息!");elsea1.setText(rs.getString("车次")+""+rs.getString(" 座 位 类 型 ")+" "+rs.getString(&q

18、uot; 票 价 ")+""+rs.getString(" 数量 ")+"n");while(rs.next()a1.append(rs.getString("车 次 ")+""+rs.getString(" 座 位 类 型 ")+" "+rs.getString(" 票 价 ")+" "+rs.getString(" 数量 ")+"n");catch(SQLExce

19、ption e1)lab2.setText(" 数据库连接错误!");setLocation(400,150);setSize(600,400);setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=b2)dispose();new gl1();if(e.getSource()=b1)if(t1.getText().equals(a) lab2.setText(" 车次不能为空!");else trystmt=con.createStatement();rs

20、=stmt.executeQuery("SELECT 车次 FROM 车票信息表WHER舁次=”'+t1.getText()+"”'); if(!rs.next() JOptionPane.showMessageDialog(null," 没有车票信 息! ! ");else rs=stmt.executeQuery("SELECT 车次 FROM 订票信 息 表 WHERE 车 次 ='"+t1.getText()+"' AND 座 位 类 型 ='"+x1.getSele

21、ctedItem()+"'");if(rs.next()JOptionPane.showMessageDialog(null," 已 有 人 预定了该票,无法修改! ");else ps1=con.prepareStatement("UPDATE 车票信息表SET 票 价 ="+Integer.parseInt(t2.getText()+",数 量="+Integer.parseInt(t3.getText()+" WHERE车次 ='"+t1.getText()+"&

22、#39;AND 座位类型='"+x1.getSelectedItem()+"'");ps1.executeUpdate();JOptionPane.showMessageDialog(null," 车 票 信 息已修改! "); catch(SQLException e1)JOptionPane.showMessageDialog(null," 数 据 库 连 接 有 误! ! ");try stmt=con.createStatement();rs=stmt.executeQuery("SELEC

23、T * FROM 车票信息表");if(!rs.next() a1.setText(" 没有车票信息!");elsea1.setText(rs.getString("车 次 ")+""+rs.getString(" 座 位 类 型 ")+" "+rs.getString(" 票 价 ")+" "+rs.getString(" 数量 ")+"n");while(rs.next()a1.append(rs.ge

24、tString("车 次 ")+""+rs.getString(" 座 位 类 型 ")+" "+rs.getString(" 票 价 ")+" "+rs.getString(" 数量 ")+"n");catch(SQLException e1) lab2.setText(" 数据库连接错误!");4. 统计核心代码:import java.awt.*;importimport javax.swing.*;impor

25、t java.sql.*;public class tj extends JFrame implements ActionListener privatestaticfinal long serialVersionUID = 1L;JLabel lab ;JTextArea a1 ;JScrollPane g1 ;JPanel p1 , p2 ;JButton b1 , b2 ;Statementstmt ;Connection con ;ResultSetrs ;tj()super ( " 总计信息" );p1 =new JPanel();p2 =new JPanel()

26、;a1 =new JTextArea();a1 .setEditable( false );g1 =new JScrollPane( a1 );lab =new JLabel( " 车次车种始发站终点站发 时到 时座位类型票 价数量 " );b1 =new JButton(" 修改" );b2 =new JButton(" 返回" );p1 .add( g1 ); p1 .add( lab );p2 .add( b1 ); p2 .add( b2 );p1 .setLayout( new BorderLayout();p1 .add(

27、 lab ,BorderLayout. NORTH);p1 .add( g1 ,BorderLayout.CENTER);setLayout( new BorderLayout();add( p1 ,BorderLayout.CENTER);add( p2 ,BorderLayout.SOUTH);try con =DriverManager. getConnectionstmt =con .createStatement();rs =stmt .executeQuery( "select(, "sa" , "1234" );列车信息总表. 车

28、次 , 车种 , 始发站 , 终点站 , 发时 , 到时 , 座位类型, 票价 , 数量 from列车信息总表, 车票信息表where 列车信息总表. 车次=车票信息表. 车次 " );if (! rs .next()a1 .setText( " 没有任何列车信息" );elsea1 .setText( rs .getString( " 车次)+ rs .getString(车种 " )+ rs .getString( " 始发站 " )+rs .getString( +rs .getString( )+ "&qu

29、ot;+rs .getString(" 终点站 " )+ " " +rs .getString( " 发时 " )+ "" 到时 " )+ "" +rs .getString( " 座位类型+rs .getString( " 票价 " )+ "" 数量 " )+ "n" );while ( rs .next()" 车次 " )+ rs .getString(+rs .getString(

30、 " 终点站+rs .getString( " 到时 " )+ "+rs .getString( " 票价 " )+5.删除a1 .append( rs .getString(车种 " )+ rs .getString( " 始发站 " )+ """ )+ " " +rs .getString( " 发时 " )+ " "" +rs .getString( " 座位类型" )+ &quo

31、t;"" +rs .getString( " 数量 " )+ "n" ); catch (SQLException e1)JOptionPane. showMessageDialog ( null , " 数据库连接错误! " );addWindowListener( new winX();b1 .addActionListener(this );b2 .addActionListener(this );setSize(800,600);setLocation(300,100);setVisible( true )

32、;public void actionPerformed(ActionEvent e) if (e.getSource()= b2 )dispose();new gl();核心代码:import java.awt.*;importimport javax.swing.*;import java.sql.*;class sccp extends JFrame implements ActionListenerprivate static final long serialVersionUID = 1L;JLabel lab1 , lab2 , lab3 ;JTextField t1 ;JButt

33、on b1 , b2 ;Connection con ;PreparedStatement ps , ps1 ;String a="" ;ResultSetrs ;Statementstmt;JTextAreaa1 ;JScrollPane g1 ;JPanelp1 , p2 ;Choicex1 ;sccp() super ( " 删除车票信息" );p1 =new JPanel();p2 =new JPanel();a1 =new JTextArea();g1 =new JScrollPane( a1 );a1 .setEditable( false

34、);lab1 =new JLabel( " 车次 " );lab2 =new JLabel();lab3 =new JLabel( " 车次座位类型票价数量 " );t1 =new JTextField(10);b1 =new JButton(" 删除" );b2 =new JButton(" 返回" );x1 =new Choice();x1 .add( " 软卧 " ); x1 .add( " 硬座 " );p1 .add( lab1 ); p1 .add( t1 );

35、p1 .add( x1 ); p1 .add( b1 ); p1 .add( b2 ); p1 .add( lab2 );p2 .add( g1 ); p2 .add( lab3 );p2 .setLayout( new BorderLayout();p2 .add( lab3 ,BorderLayout. NORTH);p2 .add( g1 ,BorderLayout. CENTER);setLayout( new BorderLayout();add( p2 ,BorderLayout.CENTER);add( p1 ,BorderLayout.SOUTH);b1 .addActionL

36、istener(this );b2 .addActionListener(this );addWindowListener( new winX();trycon =DriverManager. getConnection (, "sa" , "1234" ); stmt =con .createStatement();rs =stmt .executeQuery( "SELECT * FROM 车票信息表" );if (! rs .next()a1 .setText( " 没有车票信息!" ); else &quo

37、t; 车次 " )+ "+rs+rs.getString(.getString(" 座位类型" )+ " " +rs .getString(" 数量 " )+ "n" );while ( rs .next()" 票价 " )+ "a1 .append( rs .getString(" 车次 " )+ "+rs+rs.getString(.getString( catch" 座位类型" )+ " "

38、 +rs .getString(" 数量 " )+ "n" );(SQLException e1)" 票价 " )+ "a1 .setText( rs .getString(lab2 .setText( "数据库连接错误!" );setLocation(400,150);setSize(450,500);setVisible( true );public void actionPerformed(ActionEvent e)if (e.getSource()= b2 )dispose();new gl1(

39、);if (e.getSource()= b1 )if ( t1 .getText().equals(a)lab2 .setText( " 车次不能为空!" ); else trycon =DriverManager. getConnection (, "sa" , "1234" );stmt =con .createStatement();rs =stmt .executeQuery( "SELECT 车次 FROM 车票信息表 WHERE 车次 ='" +t1 .getText()+ "'" ); if (! rs .next()JOptionPane. showMessageDialog ( null , " 没有车票信息!

温馨提示

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

评论

0/150

提交评论