Advertisement

铁路车票管理系统

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
铁路车票管理系统是一款高效的票务管理软件,专为铁路运输行业设计。它能实现自动化售票、退票及改签等功能,并提供实时列车信息更新服务,大大提升了运营效率和乘客购票体验。 模拟火车票管理系统 ```java package com.qdlg.trainticketmanger.service; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.swing.JOptionPane; import com.qdlg.trainticketmanger.model.DBConnection; import com.qdlg.trainticketmanger.model.Ticket; public class TicketManager { /** * 添加单个票 * * @param ticket 票对象 * @return 影响的行数 */ public int addTicket(Ticket ticket){ String sql = insert into ticket(ticketNumber,trainNumber,trainDate,startStation,endStation, + price,carriageNum,seatNum,type,grade,userId,trainTime) values(?,?,?,?,?,?,?,?,?,?,?,?); Connection conn = DBConnection.getConn(); PreparedStatement pst = null; int number = 0; try { pst = conn.prepareStatement(sql); pst.setString(1,ticket.getTicketNumber()); pst.setString(2,ticket.getTrainNumber()); pst.setString(3,ticket.getTrainDate()); pst.setString(4,ticket.getStartStation()); pst.setString(5,ticket.getEndStation()); pst.setDouble(6, ticket.getPrice()); pst.setInt(7, ticket.getCarriageNum()); pst.setInt(8, ticket.getSeatNum()); pst.setString(9,ticket.getType()); pst.setString(10,ticket.getGrade()); pst.setInt(11,ticket.getUserId()); pst.setString(12,ticket.getTrainTime()); number = pst.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } return number; } /** * 批量添加票 * * @param list 票对象列表 * @return 影响的行数 */ public int addAll(List list){ Connection conn = DBConnection.getConn(); Statement sta = null; try { sta=conn.createStatement(); conn.setAutoCommit(false); Iterator iter = list.iterator(); while(iter.hasNext()){ Ticket ticket = iter.next(); String sql = insert into ticket(ticketNumber,trainNumber,trainDate,startStation,endStation, + price,carriageNum,seatNum,type,grade,userId) values ( +ticket.getTicketNumber() + , +ticket.getTrainNumber()+, + + ticket.getTrainDate() +, //省略了部分代码以保持简洁 sta.addBatch(sql); } int[] batchNumber = sta.executeBatch(); conn.commit(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, 请检查 + e.getMessage(), 系统不允许您重复录入重名物料, JOptionPane.ERROR_MESSAGE); try { conn.rollback(); } catch (SQLException e1) { e1.printStackTrace(); } } finally{ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return 0; } /** * 根据id删除票 * * @param ticketId 票的ID */ public void delete(int ticketId){ String sql = delete from ticket where id=?; Connection conn = DBConnection.getConn(); PreparedStatement pst=null; try { pst=conn.prepareStatement(sql); pst.setInt(1,ticketId); pst.executeUpdate(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, NOthing , youqingtishi, JOptionPane.ERROR_MESSAGE); } } /** * 根据票号和列车编号删除票 * * @param ticketNumber 票号 * @param trainNumber 列车编号 */ public boolean delete(String ticketNumber, String trainNumber){ String sql=delete from ticket where ticketNumber=? and trainNumber=?; Connection conn = DBConnection.getConn(); PreparedStatement pst=null; try { pst=conn.prepareStatement(sql); pst.setString(1,ticketNumber); pst.setString(2,trainNumber); int number=pst.executeUpdate(); if(number>0){ return true; }else{ return false; } } catch (SQLException e) { } return false; } /** * 更新票信息 * * @param ticket 票对象 */ public void update(Ticket ticket){ String sql=update ticket set ticketNumber=?,trainNumber=?,trainDate=?,startStation=?, + endStation

全部评论 (0)

还没有任何评论哟~
客服
客服