JAVA源码(学生信息管理系统)

1. [代码][Java]代码     
package student;
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StuDataBase implements ActionListener {
    Connection con;
    Statement state;
    // 连接数据库的账号和密码
    String conAccount;
    String conPassword;
    JTextField textAccount;
    JPasswordField textPass;
    JFrame frame;
    JButton sure1;
    JDialog dialog;
    JButton sure2;
    MainFrame mainF;
    public StuDataBase(MainFrame mainF) {
        frame = new JFrame("登录");
        conAccount = "student";
        conPassword = "123456";
        this.mainF = mainF;
        frame.setSize(305, 165);
        frame.setLocation(550, 250);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        buildConnect();
        buildpane();
        frame.setVisible(true);
    }
    public void buildConnect() {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    public void buildpane() {
        // frame的面板
        JPanel fPane = (JPanel) frame.getContentPane();
        fPane.setLayout(new GridLayout(3, 2));
        Font f = new Font("MyFont", Font.PLAIN, 15);
        JLabel account = new JLabel("账号", JLabel.CENTER);
        JLabel password = new JLabel("密码", JLabel.CENTER);
        account.setFont(f);
        password.setFont(f);
        textAccount = new JTextField();
        textPass = new JPasswordField();
        sure1 = new JButton("确定");
        sure1.addActionListener(this);
        fPane.add(account);
        fPane.add(textAccount);
        fPane.add(password);
        fPane.add(textPass);
        fPane.add(new JLabel());
        fPane.add(sure1);
        // dialog的面板
        dialog = new JDialog(frame);
        dialog.setSize(277, 137);
        dialog.setLocation(565, 265);
        JPanel dPane = (JPanel) dialog.getContentPane();
        dPane.setLayout(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        JLabel tip = new JLabel("账号密码错误,请重新输入", JLabel.CENTER);
        tip.setFont(f);
        sure2 = new JButton("确定");
        sure2.addActionListener(this);
        c.gridwidth = 3;
        dPane.add(tip, c);
        c.insets = new Insets(10, 10, 0, 0);
        c.gridy = 1;
        c.gridx = 2;
        c.gridwidth = 1;
        dPane.add(sure2, c);
    }
    public void createTable() {
        try {
            state.execute("Create table major(ID Integer Primary key, Name String);");
            state.execute("Create table student(ID Integer Primary key,Name String,Sex String,Class Integer, Major Integer, Constraint fk foreign key(Major) references major(ID));");
        } catch (SQLException e) {
            System.out.println("表已存在");
        }
    }
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == sure1) {
            if (textAccount.getText().equals(conAccount)
                    && String.valueOf(textPass.getPassword()).equals(
                            conPassword))
                try {
                    con = DriverManager.getConnection("JDBC:ODBC:Student",
                            conAccount, conPassword);
                    state = con.createStatement();
                    createTable();
                    frame.dispose();
                    mainF.state = state;
                    mainF.isStuExist(0);
                    mainF.isMajorExist(0);
                    mainF.setVisible(true);
                } catch (SQLException e1) {

                    e1.printStackTrace();
                }
            else {
                dialog.setVisible(true);
            }
        } else {
            dialog.setVisible(false);
        }
    }
}
view sourceprint?
package student;
import javax.swing.*;
import java.util.Vector;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class MainFrame extends JFrame implements Runnable, ActionListener {
    CardLayout cards;
    Font font;
    JMenuBar menuBar;
    Statement state;
    String sql;
    // 定义外来码时用到
    Vector MID;
    // 记录下一个空ID
    static int stuID;
    static int majorID;
    // 学生操作对应的面板
    JPanel SR;
    JPanel SQ;
    JPanel SD;
    JPanel SU;
    // 专业操作对应的面板
    JPanel MR;
    JPanel MQ;
    JPanel MD;
    JPanel MU;
    // 学生信息登记面板组件
    JTextField SR_Name;
    JTextField SR_Sex;
    JTextField SR_Class;
    JComboBox<Vector> SR_Major;
    JButton SR_Yes;
    JButton SR_No;
    // 学生信息查询面板的组件
    JTextField SQ_ID;
    JTextField SQ_Name;
    JTextField SQ_Class;
    JTextField SQ_Major;
    JButton SQ_Yes;
    // 学生信息更新面板的组件
    JTextField SU_Name;
    JTextField SU_Class;
    JTextField SU_Major;
    JButton SU_Update;
    JButton SU_Show;
 // 学生信息删除面板的组件
    JTextField SD_Field;
    // 专业信息登记面板的组件
    JTextField MR_ID;
    JTextField MR_Name;
    JButton MR_Yes;
    JButton MR_No;
    // 专业信息查询面板的组件
    JTextField MQ_ID;
    JTextField MQ_Name;
    JButton MQ_Yes;
    // 专业信息更新面板的组件
    JTextField MU_Name;
    JButton MU_Update;
    // 专业信息删除面板
    JLabel MD_Tip;
084
    JTextField MD_Field;
085
    JButton MD_Delete;
086
 
087
    // 菜单项
    JMenuItem stuR;
    JMenuItem stuQ;
    JMenuItem stuD
    JMenuItem majorR;
    JMenuItem major
    JMenuItem majorD;
    JMenuItem majorU;
   public MainFrame() {
        SR = new JPanel();
        SQ = new JPanel();
        SD = new JPanel();
        SU = new JPanel();
        MR = new JPanel();
        MQ = new JPanel();
        MU = new JPanel();
        MD = new JPanel();
        majorID = 1;
        stuID = 1;
        new Thread(this).start();
        cards = new CardLayout();
        font = new Font("myFont", Font.PLAIN, 15);
        MID = new Vector();
        // 当Major的ID的删除完时,显示
        MID.add("");
        // 菜单条
        menuBar = new JMenuBar();
        setTitle("学生管理");
        setSize(400, 377);
        setLocation(530, 200);
        Main_Pane(this.getContentPane());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }



        pane.add(SU, "2");
        pane.add(SD, "3");
        pane.add(MR, "4");
        pane.add(MQ, "5");
        pane.add(MU, "6");
        pane.add(MD, "7");
    }
    public void Main_Menu() {
 
        stuR = new JMenuItem("登记");
        stuQ = new JMenuItem("查询");
        stuD = new JMenuItem("删除");
        stuU = new JMenuItem("更新");
        JMenu stu = new JMenu("学生");
        stu.add(stuR);

        stu.add(stuQ);
        stu.add(stuU);
        stu.add(stuD);
        majorR = new JMenuItem("登记");
        majorQ = new JMenuItem("查询");
        majorU = new JMenuItem("更新");
        majorD = new JMenuItem("删除");
        JMenu major = new JMenu("专业");
        major.add(majorR);
        major.add(majorQ);
        major.add(majorU);
        major.add(majorD);
        menuBar.add(stu);
        menuBar.add(major);
        this.setJMenuBar(menuBar);
        // 增加监听器
        stuR.addActionListener(this);
        stuQ.addActionListener(this);
        stuD.addActionListener(this);
        stuU.addActionListener(this);
        majorR.addActionListener(this);
        majorQ.addActionListener(this);
        majorD.addActionListener(this);
        majorU.addActionListener(this);
    }
    @Override
    public void run() {
        SR_Pane();
        SQ_Pane();
        SD_Pane();
        SU_Pane();
        MR_Pane();
        MQ_Pane();
        MU_Pane();
        MD_Pane();
    }
    // 学生登记和查询面板
    public void SR_Pane() {
        SR.setLayout(new GridLayout(6, 2));
        JLabel labelID = new JLabel("学号", JLabel.CENTER);
        JLabel labelName = new JLabel("姓名", JLabel.CENTER);
        JLabel labelSex = new JLabel("性别", JLabel.CENTER);
        JLabel labelClass = new JLabel("班级", JLabel.CENTER);
        JLabel labelMajor = new JLabel("专业码", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        labelSex.setFont(font);
        labelClass.setFont(font);
        labelMajor.setFont(font);
         SR_ID = new JTextField();
        SR_ID.setText(String.valueOf(stuID));
        SR_Name = new JTextField();
        SR_Sex = new JTextField();
        SR_Class = new JTextField();
         SR_Major = new JComboBox<Vector>(MID);
        SR_Yes = new JButton("登记");
        SR_No = new JButton("取消");
        SR_Yes.addActionListener(this);
        SR_No.addActionListener(this);
        SR.add(labelID);
        SR.add(SR_ID);
        SR.add(labelName);
        SR.add(SR_Name);
        SR.add(labelSex);
        SR.add(SR_Sex);
        SR.add(labelClass);
        SR.add(SR_Class);
        SR.add(labelMajor);
        SR.add(SR_Major);
        SR.add(SR_Yes);
        SR.add(SR_No);
    }
 
    public void SQ_Pane() {
        SQ.setLayout(new GridLayout(6, 2));
        JLabel labelID = new JLabel("学号", JLabel.CENTER);
        JLabel labelName = new JLabel("姓名", JLabel.CENTER);
        JLabel labelSex = new JLabel("性别", JLabel.CENTER);
        JLabel labelClass = new JLabel("班级", JLabel.CENTER);
        JLabel labelMajor = new JLabel("专业码", JLabel.CENTER);
        JLabel SD_Tip = new JLabel("输入学号", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        labelSex.setFont(font);
        labelClass.setFont(font);
        labelMajor.setFont(font);
        SD_Tip.setFont(font);
        SQ_ID = new JTextField();
        SQ_Name = new JTextField();
        SQ_Sex = new JTextField();
        SQ_Class = new JTextField();
        SQ_Major = new JTextField();
        SQ_Yes = new JButton("查询");
        SQ_Yes.addActionListener(this);
        SQ.add(labelID);
        SQ.add(SQ_ID);
        SQ.add(labelName);
        SQ.add(SQ_Name);
        SQ.add(labelSex);
        SQ.add(SQ_Sex);
        SQ.add(labelClass);
        SQ.add(SQ_Class);
        SQ.add(labelMajor);
        SQ.add(SQ_Major);
        SQ.add(SD_Tip);
        SQ.add(SQ_Yes);
    }
    public void SD_Pane() {
        SD.setLayout(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        JLabel label = new JLabel("学号", JLabel.CENTER);
        SD_Field = new JTextField();
        JButton delete = new JButton("删除");
        c.fill = GridBagConstraints.HORIZONTAL;
         c.gridwidth = 1;
        c.insets = new Insets(10, 10, 10, 10);
        SD.add(label, c);
         c.gridx = 1;
        c.gridwidth = 3;
        c.ipadx = 120;
        SD.add(SD_Field, c);
         c.gridwidth = 1;
        c.gridx = 3;
        c.ipadx = 0;
        SD.add(delete, c);
         delete.addActionListener(new ActionListener() {
             @Override

            public void actionPerformed(ActionEvent e) {
                sql = "Delete from student where ID=";
                sql += SD_Field.getText();
                sql += ";";
                System.out.println(sql);
                try {
                    int i = Integer.valueOf(SD_Field.getText());
                    if (isStuExist(i)) {
                        state.execute(sql);
                        JOptionPane.showMessageDialog(SD, "已删除");
                    } else {
                        JOptionPane.showMessageDialog(SD, "删除失败");
                    }
                } catch (SQLException e1) {

                    JOptionPane.showMessageDialog(SD, "删除失败");
                }

            }
        });
    }
     public void SU_Pane() {
        SU.setLayout(new GridLayout(6, 2));
         JLabel labelID = new JLabel("学号", JLabel.CENTER);
        JLabel labelName = new JLabel("姓名", JLabel.CENTER);
        JLabel labelSex = new JLabel("性别", JLabel.CENTER);
        JLabel labelClass = new JLabel("班级", JLabel.CENTER);
        JLabel labelMajor = new JLabel("专业码", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        labelSex.setFont(font);
        labelClass.setFont(font);
        labelMajor.setFont(font);
        SU_ID = new JTextField();
        SU_Name = new JTextField();
        SU_Sex = new JTextField();
        SU_Class = new JTextField();
        SU_Major = new JTextField();
        SU_Update = new JButton("更新");

        SU_Update.addActionListener(this);
        SU_Show = new JButton("显示");
        SU_Show.addActionListener(this);
 
        SU.add(labelID);
        SU.add(SU_ID);

        SU.add(labelName);
        SU.add(SU_Name);
        SU.add(labelSex);
        SU.add(SU_Sex);
        SU.add(labelClass);
        SU.add(SU_Class);
        SU.add(labelMajor);
        SU.add(SU_Major);
        SU.add(SU_Show);
    }
    public void MR_Pane() {
        MR.setLayout(new GridLayout(3, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        JLabel labelName = new JLabel("专业名", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        MR_ID = new JTextField();
        MR_Name = new JTextField();
        MR_ID.setText(String.valueOf(majorID));
        MR_Yes = new JButton("登记");
        MR_Yes.addActionListener(this);
        MR_No = new JButton("取消");
        MR_No.addActionListener(this);
        MR.add(labelID);
        MR.add(MR_ID);
        MR.add(labelName);
        MR.add(MR_Name);
        MR.add(MR_Yes);
        MR.add(MR_No);
    }
    public void MQ_Pane() {
        MQ.setLayout(new GridLayout(3, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        JLabel labelName = new JLabel("专业名", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        MQ_ID = new JTextField();
        MQ_Name = new JTextField();
        MQ_Yes = new JButton("查询");
        MQ_Yes.addActionListener(this);
        MQ.add(labelID);
        MQ.add(MQ_ID);
        MQ.add(labelName);
        MQ.add(MQ_Name);
        MQ.add(new JLabel("输入专业码", JLabel.CENTER));
        MQ.add(MQ_Yes);
    }
    public void MU_Pane() {
        MU.setLayout(new GridLayout(3, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        JLabel labelName = new JLabel("专业名", JLabel.CENTER);
        labelID.setFont(font);
        labelName.setFont(font);
        MU_ID = new JTextField();
        MU_Name = new JTextField();
        MU_Update = new JButton("更新");
        MU_Update.addActionListener(this);
        MU.add(labelID);
        MU.add(MU_ID);
        MU.add(labelName);
        MU.add(MU_Name);
        MU.add(new JLabel("输入专业码", JLabel.CENTER));
        MU.add(MU_Update);
    }
    public void MD_Pane() {
        MD.setLayout(new GridLayout(2, 2));
        JLabel labelID = new JLabel("专业码", JLabel.CENTER);
        MD_Tip = new JLabel("输入专业码", JLabel.CENTER);
        labelID.setFont(font);
        MD_Field = new JTextField();
        MD_Delete = new JButton("删除");
        MD_Delete.addActionListener(this);
        MD.add(labelID);
        MD.add(MD_Field);
        MD.add(MD_Tip);
        MD.add(MD_Delete);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();
        Container pane = getContentPane();
        try {
            if (source == SR_Yes) {
                String ID = SR_ID.getText();
                String Name = SR_Name.getText();
                String Sex = SR_Sex.getText();
                String Class = SR_Class.getText();
                String Major = String.valueOf(SR_Major.getSelectedItem());
                if (ID.length() > 0 && Name.length() > 0 && Sex.length() > 0
                        && Class.length() > 0 && Major.length() > 0) {
                    sql = "Insert into student values(" + ID + ", '" + Name
                            + "' , '" + Sex + "' ," + Class + "," + Major
                            + ");";
                    state.execute(sql);
                    stuID++;
                    SR_ID.setText(String.valueOf(stuID));
                    SR_Name.setText("");
                    SR_Sex.setText("");
                    SR_Class.setText("");
                }
            }
            if (source == SR_No) {
                SR_Name.setText("");
                SR_Sex.setText("");
                SR_Class.setText("");
           }
            if (source == SQ_Yes) {
                String ID = SQ_ID.getText();
                if (ID.length() > 0) {
                    if (isStuExist(Integer.valueOf(ID))) {
                        sql = "Select * from student where ID="+ID+";";
                        ResultSet rs = state.executeQuery(sql);
                        while (rs.next()) {
                            SQ_Name.setText(rs.getString(2));
                            SQ_Sex.setText(rs.getString(3));
                            SQ_Class.setText(String.valueOf(rs.getInt(4)));
                            SQ_Major.setText(String.valueOf(rs.getInt(5)));
                        }
                    } else
                        JOptionPane.showMessageDialog(this, "输入的ID不存在");
                }
            }
            if (source == SU_Show) {
                showInformation_SU_Pane();
            }
            if (source == SU_Update) {
                String SUID = SU_ID.getText();
                if (SUID.length() > 0) {
                    String Name = SU_Name.getText();
                    String Sex = SU_Sex.getText();
                    String Class = SU_Class.getText();
                    String Major = SU_Major.getText();
                    sql = "Update student Set Name = '" + Name + "', Sex= ' "
                            + Sex + "', Class= " + Class + ", Major = " + Major
                            + "  Where ID =" + SUID;
                    state.executeUpdate(sql);
                    JOptionPane.showMessageDialog(this, "更新成功");
                }
            }
            if (source == MR_Yes) {
                String ID = MR_ID.getText();
                String MName = MR_Name.getText();
                if (ID.length() > 0 && MName.length() > 0) {
                    sql = "Insert into major values( " + ID + ",'" + MName
                            + "');";
                    state.execute(sql);
                    majorID++;
                    MID.add(Integer.valueOf(ID));
                    MR_ID.setText(String.valueOf(majorID));
                    MR_Name.setText("");
                }
            }
            if (source == MR_No) {
                MR_Name.setText("");
            }
            if (source == MQ_Yes) {
                String ID = MQ_ID.getText();
                if (ID.length() > 0) {
                    if (isMajorExist(Integer.valueOf(ID))) {
                        sql = "Select * from major where ID=" + ID + ";";
                        ResultSet rs = state.executeQuery(sql);
                        while (rs.next())
                            MQ_Name.setText(rs.getString(2));
                    } else
                        JOptionPane.showMessageDialog(this, "输入的ID不存在");
                }
            }
            if (source == MU_Update) {
                String ID = MU_ID.getText();
                String Name = MU_Name.getText();
                if (ID.length() > 0 && Name.length() > 0) {
                    sql = "Update major set Name = '" + Name + "' where ID ="
                            + ID;
                    state.executeUpdate(sql);
                    JOptionPane.showMessageDialog(this, "更新成功");
                }
            }
 
            if (source == MD_Delete) {
                String ID = MD_Field.getText();
                if (ID.length() > 0) {
                    int i = Integer.valueOf(ID);
                    if (isMajorExist(i)) {
                        try {
                            sql = "Delete from major where ID = " + ID;
                            state.execute(sql);
                            MID.remove((Integer) i);
                            SR_Major.setSelectedItem("");
                            JOptionPane.showMessageDialog(this, "已删除");
                        } catch (SQLException e2) {
                            JOptionPane.showMessageDialog(this,
                                    "删除失败 ,学生中包含相关专业");
                        }
                    } else

                        JOptionPane.showMessageDialog(this, "删除失败");
                }
            }

        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        if (source == stuR) {
            cards.show(pane, "0");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == stuQ) {
            cards.show(pane, "1");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == stuU) {
            cards.show(pane, "2");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == stuD) {
            cards.show(pane, "3");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 377);
        }
        if (source == majorR) {
            cards.show(pane, "4");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
        if (source == majorQ) {
            cards.show(pane, "5");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
        if (source == majorU) {
            cards.show(pane, "6");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
        if (source == majorD) {
            cards.show(pane, "7");
            Reset_S_Pane();
            Reset_M_Pane();
            setSize(400, 250);
        }
    }
    public void Reset_S_Pane() {
        SR_Name.setText("");
        SR_Sex.setText("");
        SR_Class.setText("");
        SR_Major.setSelectedItem("");
        SQ_ID.setText("");
        SQ_Name.setText("");
        SQ_Sex.setText("");
        SQ_Class.setText("");
        SQ_Major.setText("");
        SU_ID.setText("");
        SU_Name.setText("");
        SU_Sex.setText("");
        SU_Class.setText("");
        SU_Major.setText("");
        SD_Field.setText("");
    }
    public void Reset_M_Pane() {
        MR_Name.setText("");

        MQ_ID.setText("");
        MQ_Name.setText("");
        MU_ID.setText("");
        MU_Name.setText("");
        MD_Field.setText("");
    }
    public boolean isStuExist(int ID) {
        try {
            ResultSet rs = state.executeQuery("Select * from student");
            while (rs.next()) {
                int rsID = rs.getInt("ID");
                stuID = rsID;
                SR_ID.setText(String.valueOf(++stuID));
                if (ID == rsID)
                    return true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }
 
    public boolean isMajorExist(int ID) {
        try {
            ResultSet rs = state.executeQuery("Select *from major");
            while (rs.next()) {
                int rsID = rs.getInt("ID");
                if (!MID.contains(rsID))
                    MID.add(rsID);
                majorID = rsID;
                MR_ID.setText(String.valueOf(++majorID));
                if (ID == rsID)
                    return true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }
    public void showInformation_SU_Pane() {
        String SuID = SU_ID.getText();
        if (SuID.length() > 0) {
            sql = "Select * from student where ID="+SuID+";";
            try {
                ResultSet rs = state.executeQuery(sql);
                while (rs.next()) {
                    SU_Name.setText(rs.getString(2));
                    SU_Sex.setText(rs.getString(3));
                    SU_Class.setText(String.valueOf(rs.getInt(4)));
                    SU_Major.setText(String.valueOf(rs.getInt(5)));
                }
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
        }
    }
    public static void main(String args[]) {
        try {
            UIManager
                    .setLookAndFeel("org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel");
        } catch (ClassNotFoundException | InstantiationException
                | IllegalAccessException | UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }
        JFrame.setDefaultLookAndFeelDecorated(true);
        JDialog.setDefaultLookAndFeelDecorated(true);
        MainFrame MF = new MainFrame();
        new StuDataBase(MF);

    }
}

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值