0
点赞
收藏
分享

微信扫一扫

基于Swing+MySQL火车票售票管理系统

乐百川 2022-03-23 阅读 45

开发工具:eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

            UserTicket userticket0 = new UserTicket(userticketid, userticketuserid, userticketticketid0,
                    userticketname, userticketidentity_number, userticketstation_arrival,
                    userticketstation_depart, userticketdepart_date,
                    userticketdepart_time, userticketticket_number, userticketseattype,
                    usertickettickettype, userticketfares, userticketticket_office);

            userticket.add(userticket0);
        }
        Util.closeAll(con, stmt, rs);
        return userticket;
    }

    @Override
    public List<UserTicket> queryAll() throws SQLException {
    public String getUserticketticket_office() {
        return userticketticket_office;
    }

    public void setUserticketticket_office(String userticketticket_office) {
        this.userticketticket_office = userticketticket_office;
    }

    @Override
    public String toString() {
        return "Userticket [userticketid=" + userticketid + ", userticketuserid=" + userticketuserid
                + ", userticketticketid=" + userticketticketid + ", userticketname=" + userticketname
                + ", userticketidentity_number=" + userticketidentity_number + ", userticketstation_arrival="
                + userticketstation_arrival + ", userticketstation_depart=" + userticketstation_depart
                + ", userticketdepart_date=" + userticketdepart_date + ", userticketdepart_time="
                + userticketdepart_time + ", userticketticket_number=" + userticketticket_number
                + ", userticketseattype=" + userticketseattype + ", usertickettickettype=" + usertickettickettype
                + ", userticketfares=" + userticketfares + ", userticketticket_office=" + userticketticket_office + "]";
    }

    public UserTicket(int userticketid, int userticketuserid, int userticketticketid, String userticketname,

            System.out.println(userid + userticketdepart_date + ac + ps + left + bl);

            add(userticketuserid, userticketticketid, userticketname,
                    userticketidentity_number, userticketstation_arrival,
                    userticketstation_depart, userticketdepart_date,
                    userticketdepart_time, userticketticket_number, userticketseattype,
                    usertickettickettype, userticketfares, userticketticket_office);

        }

        Util.closeAll(conn, stmt, rt);

        return true;
    }

    @Override
    public boolean fundTicket(int userticketid, int userticketticketid) throws SQLException, Exception {
        Connection con = Util.getConnection();
        String sqlll = "update ticket set tickets_left=tickets_left+1 where ticketid = ?";
        PreparedStatement stmttt = con.prepareStatement(sqlll);
        stmttt.setInt(1, userticketticketid);
        stmttt.executeUpdate();
        String sql = "delete from userticket where userticketid=?";
 * 个人信息修改
 */

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import dao.Impl.UserDaoImpl;
        txtname = new JTextField();
        txtname.setBounds(350, 100, 180, 23);
        add(txtname);
        txtname.setColumns(10);
        txtname.setText(name);

        JLabel label_1 = new JLabel("证件号码");
        label_1.setBounds(250, 170, 70, 23);
        add(label_1);

                }
            }
        });
    }

    public void loadData() {
        // 清除旧的数据
        model.getDataVector().clear();
        // 查询部门数据
        //TableColumnModel col = table.getColumnModel();
        // 获取部门的列,设置这个列为下拉框列类型
        List<User> list;
        try {
            list = userDao.queryAll();
            // 遍历每一条数据,添加到model中
    private QueryUser query;

    /**
     * Create the panel.
     *
     * @param tickettypeDao
     * @throws SQLException
     */
    public AddTicket() throws SQLException {
        setLayout(null);

        JLabel label = new JLabel("到达站:");
        label.setBounds(280, 65, 146, 23);
        add(label);

        txtstation_arrival = new JTextField();
            String userticketseattype = rs.getString(11);
            String usertickettickettype = rs.getString(12);
            String userticketfares = rs.getString(13);
            String userticketticket_office = rs.getString(14);

            UserTicket userticket0 = new UserTicket(userticketid, userticketuserid, userticketticketid0,
                    userticketname, userticketidentity_number, userticketstation_arrival,
                    userticketstation_depart, userticketdepart_date,
                    userticketdepart_time, userticketticket_number, userticketseattype,
                    usertickettickettype, userticketfares, userticketticket_office);

        stmt.setString(10, ticket_office);
        ResultSet rs = null;
        stmt.executeUpdate();
        Util.closeAll(con, stmt, rs);
        return true;
    }

    @Override
    public boolean update(Ticket ticket) throws SQLException {
        Connection con = Util.getConnection();
        String sqladd = "update ticket set station_arrival=?,station_depart=?,depart_date=?,"
                + "depart_time=?,ticket_number=?,seattypeid=?,tickettypeid=?,tickets_left=?,fares=?,"
                + "ticket_office=? where ticketid=?";
        PreparedStatement stmt = con.prepareStatement(sqladd);
        stmt.setString(1, ticket.getStation_arrival());
        stmt.setString(2, ticket.getStation_depart());
        stmt.setString(3, ticket.getDepart_date());
        stmt.setString(4, ticket.getDepart_time());
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

                if (txtname.getText().equals("")) {    //判断用户输入是否为空;
                    JOptionPane.showMessageDialog(null, "请输入姓名", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
                }
                if (txtidentity_number.getText().equals("")) {    //判断用户输入是否为空;
                    JOptionPane.showMessageDialog(null, "请输入身份证号", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
                }
                if (txtaccout.getText().equals("")) {    //判断用户输入是否为空;
                    JOptionPane.showMessageDialog(null, "请输入账号", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
        label_5.setBounds(280, 260, 146, 23);
        add(label_5);

        cmbtickettype = new JComboBox(list.toArray());
        cmbtickettype.setBounds(350, 260, 146, 23);
        add(cmbtickettype);

        seattypeDao = new SeattypeImpl();
        List<Seattype> list1 = seattypeDao.queryAll();

        JLabel label_6 = new JLabel("座位类型:");
        label_6.setBounds(280, 292, 146, 23);

    public void setUserticketid(int userticketid) {
        this.userticketid = userticketid;
    }


    public int getUserticketuserid() {
        return userticketuserid;
    }

    public void setUserticketuserid(int userticketuserid) {
        this.userticketuserid = userticketuserid;
    }

    public int getUserticketticketid() {
        return userticketticketid;
    }

    public void setUserticketticketid(int userticketticketid) {
        this.userticketticketid = userticketticketid;
    }

    public String getUserticketname() {
                String seattypeid = String.valueOf(seattype.getSeattypename()).toString();
                Tickettype tickettype = (Tickettype) cmbtickettype.getSelectedItem();
                String tickettypeid = String.valueOf(tickettype);
                String tickets_left0 = txttickets_left.getText();
                int tickets_left = Integer.parseInt(tickets_left0);
                String fares = txtfares.getText();
                String ticket_office = txtticket_office.getText();
                Ticket ticket = new Ticket(ticketid, station_arrival, station_depart,
                        depart_date, depart_time, ticket_number, seattypeid,
                        tickettypeid, tickets_left, fares, ticket_office);

        Connection con = Util.getConnection();
        String sqladd = "insert into ticket(station_arrival,station_depart,depart_date,depart_time,ticket_number,seattypeid,"
                + "tickettypeid,tickets_left,fares,ticket_office) values(?,?,?,?,?,?,?,?,?,?)";
        PreparedStatement stmt = con.prepareStatement(sqladd);
        stmt.setString(1, station_arrival);
        stmt.setString(2, station_depart);
        stmt.setString(3, depart_date);
        stmt.setString(4, depart_time);
        stmt.setInt(5, ticket_number);
        stmt.setString(6, seattypeid);
        stmt.setString(7, tickettypeid);
        stmt.setInt(8, tickets_left);
        stmt.setString(9, fares);
        stmt.setString(10, ticket_office);
        ResultSet rs = null;
        stmt.executeUpdate();
            Ticket ticket = new Ticket(ticketid, station_arrival, station_depart, depart_date, depart_time,
                    ticket_number, seattypeid, tickettypeid, tickets_left, fares, ticket_office);
            UpdataTicket updataticket = new UpdataTicket(ticket);
            updataticket.setVisible(true);
        }
    }

    public void buyticket() throws SQLException {
        if (table.getSelectedRowCount() <= 0) {
            JOptionPane.showMessageDialog(null, "请选择要购买的车票");
            return;
        }
        int result = JOptionPane.showConfirmDialog(null, "是否确定要购买");
        // 判断用户是否点击
        if (result == JOptionPane.OK_OPTION) {

            int ticketid = Integer.valueOf(table.getValueAt(table.getSelectedRow(), 0).toString());
            String station_arrival = table.getValueAt(table.getSelectedRow(), 1).toString();
            String station_depart = table.getValueAt(table.getSelectedRow(), 2).toString();
    }

    @Override
    public List<UserTicket> queryAll() throws SQLException {
        Connection con = Util.getConnection();
        String sqladd = "select * from userticket";
        PreparedStatement stmt = con.prepareStatement(sqladd);
        ResultSet rs = stmt.executeQuery();
        List<UserTicket> userticket = new ArrayList<>();
        while (rs.next()) {
            int userticketid = rs.getInt(1);
            int userticketuserid = rs.getInt(2);
            int userticketticketid0 = rs.getInt(3);
                    JOptionPane.showMessageDialog(null, "请输入身份证号", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
                }
                if (txtaccout.getText().equals("")) {    //判断用户输入是否为空;
                    JOptionPane.showMessageDialog(null, "请输入账号", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
                }
                if (txtPassword.getText().equals("")) {    //判断用户输入是否为空;
                    JOptionPane.showMessageDialog(null, "请输入密码", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
                }

                try {
                    boolean flag;
                    int userid = id;
                    String name = txtname.getText();
                    String identity_number = txtidentity_number.getText();
                    String account = txtaccout.getText();
                    String password = txtPassword.getText();

        txtfares = new JTextField();
        txtfares.setBounds(350, 325, 146, 23);
        add(txtfares);
        txtfares.setColumns(10);
        txtfares.setText(ticket.getFares());

        JLabel label_8 = new JLabel("发售站:");
        label_8.setBounds(280, 357, 146, 23);
        add(label_8);

        txtticket_office = new JTextField();
        txtticket_office.setBounds(350, 357, 146, 23);
        add(label_2);

        txtdepart_time = new JTextField();
        txtdepart_time.setBounds(350, 162, 146, 23);
        add(txtdepart_time);
        txtdepart_time.setColumns(10);
        txtdepart_time.setText(ticket.getDepart_time());

        JLabel label_3 = new JLabel("车次(整数):");
        label_3.setBounds(280, 195, 146, 23);
        add(label_3);

        stmt.setInt(2, userticketticketid);
        stmt.setString(3, userticketname);
        stmt.setString(4, userticketidentity_number);
        stmt.setString(5, userticketstation_arrival);
        stmt.setString(6, userticketstation_depart);
        stmt.setString(7, userticketdepart_date);
        stmt.setString(8, userticketdepart_time);
        stmt.setInt(9, userticketticket_number);
        stmt.setString(10, userticketseattype);
        stmt.setString(11, usertickettickettype);
        stmt.setString(12, userticketfares);
        stmt.setString(13, userticketticket_office);
        stmt.executeUpdate();
        return true;
    }

    @Override
    public boolean update(UserTicket UserTicket) throws SQLException {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void delete(int userticketid) throws SQLException {
            far = rs.getInt(1);
        }
        return far;
    }

}
package dao.Impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

                int ticketid = ticket.getTicketid();
                String station_arrival = txtstation_arrival.getText();
                String station_depart = txtstation_depart.getText();
                String depart_date = txtdepart_date.getText();
                String depart_time = txtdepart_time.getText();
                String ticket_number0 = txtticket_number.getText();
                int ticket_number = Integer.parseInt(ticket_number0);
                Seattype seattype = (Seattype) cmbseattype.getSelectedItem();
                String seattypeid = String.valueOf(seattype.getSeattypename()).toString();
                Tickettype tickettype = (Tickettype) cmbtickettype.getSelectedItem();
                String tickettypeid = String.valueOf(tickettype);
                String tickets_left0 = txttickets_left.getText();
                int tickets_left = Integer.parseInt(tickets_left0);
                String fares = txtfares.getText();
                String ticket_office = txtticket_office.getText();
                Ticket ticket = new Ticket(ticketid, station_arrival, station_depart,
                        depart_date, depart_time, ticket_number, seattypeid,
                        tickettypeid, tickets_left, fares, ticket_office);
            return;
        }
        int result = JOptionPane.showConfirmDialog(null, "是否确定要删除");
        // 判断用户是否点击
        if (result == JOptionPane.OK_OPTION) {
            int ticketid = Integer.valueOf(table.getValueAt(
                    table.getSelectedRow(), 0).toString());
            ticketDao.delete(ticketid);
            loadData();
        }
    }

    public void updata() throws SQLException {
        if (table.getSelectedRowCount() <= 0) {
            JOptionPane.showMessageDialog(null, "请选择要修改的数据行");
                if (e.getColumn() < 0)
                    return;
                String nVal = table.getValueAt(e.getLastRow(), e.getColumn())
                        .toString();
                // 如果旧的值 和新的值一样,直接 返回
                if (nVal.equals(oldValue)) {
                    return;
                }
                // 判断当前编辑的单元格是否是主键列
                if (e.getColumn() == 0) {
                    // 还原旧的值
                    table.setValueAt(oldValue, e.getLastRow(), e.getColumn());
                    return;
                }
                // 更新数据

                int ticketid = Integer.valueOf(table.getValueAt(e.getLastRow(), 0).toString());
                String station_arrival = table.getValueAt(e.getLastRow(), 1).toString();
                    userticketname, userticketidentity_number, userticketstation_arrival,
                    userticketstation_depart, userticketdepart_date,
                    userticketdepart_time, userticketticket_number, userticketseattype,
                    usertickettickettype, userticketfares, userticketticket_office);

            userticket.add(userticket0);
        }
        Util.closeAll(con, stmt, rs);
        return userticket;
    }

    @Override
    public boolean buyTicket(int ticketid, int userid) throws Exception {
        Connection con = Util.getConnection();

        String sqlll = "update ticket set tickets_left=tickets_left-1 where ticketid = ?";
        PreparedStatement stmttt = con.prepareStatement(sqlll);
        stmttt.setInt(1, ticketid);
        stmttt.executeUpdate();

        ResultSet rs = null;
        Util.closeAll(con, stmttt, rs);
        return true;
        txttickets_left.setColumns(10);

        ticketDao = new TicketImpl();
        JButton btnNewButton = new JButton("添加车票");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {

                if (txtstation_arrival.getText().equals("")) {    //判断用户输入是否为空;
                    JOptionPane.showMessageDialog(null, "请输入到达站", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
                } else if (txtstation_depart.getText().equals("")) {
                    JOptionPane.showMessageDialog(null, "请输入乘车站", "警告对话框", JOptionPane.WARNING_MESSAGE);
                    return;
                } else if (txtdepart_date.getText().equals("")) {
        JLabel label_3 = new JLabel("车次(整数):");
        label_3.setBounds(280, 195, 146, 23);
        add(label_3);

        txtticket_number = new JTextField();
        txtticket_number.setBounds(350, 195, 146, 23);
        add(txtticket_number);
        txtticket_number.setColumns(10);

        JLabel label_4 = new JLabel("车票余量:");
        label_4.setBounds(280, 227, 146, 23);
        add(label_4);

        txttickets_left = new JTextField();
        txttickets_left.setBounds(350, 227, 146, 23);
        add(txttickets_left);
        txttickets_left.setColumns(10);


        txtfares.setColumns(10);
        txtfares.setText(ticket.getFares());

        JLabel label_8 = new JLabel("发售站:");
        label_8.setBounds(280, 357, 146, 23);
        add(label_8);

        txtticket_office = new JTextField();
        txtticket_office.setBounds(350, 357, 146, 23);
        add(txtticket_office);
        txtticket_office.setColumns(10);
        txtticket_office.setText(ticket.getTicket_office());

        ticketDao = new TicketImpl();

适用

课程设计,大作业,毕业设计,项目练习,学习演示等


运行环境

Java≥6、MySQL≥5.5

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

技术框架

Java Swing

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

管理员管理车票和用户、用户购买车票等

20220312114833

20220312115107

20220312105301

20220312110228

20220312110710

20220312110739

20220312110825

20220312110910

20220312111004

20220312111445

20220312111757

20220312111848

20220312111930


举报

相关推荐

0 条评论