小试牛刀-教务信息管理系统(StuAdmin)

来源:互联网 发布:mac pro需要贴膜吗 编辑:程序博客网 时间:2024/04/27 23:07
package StuAdmin;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.BorderFactory;import javax.swing.ButtonGroup;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.JRadioButton;import javax.swing.JTextField;import javax.swing.border.TitledBorder;public class StuAdmin implements ActionListener {static Connection conn;static Statement st;String index = "-";JFrame f;JTextField id;JPasswordField pw;public StuAdmin() {f = new JFrame("教务管理系统");f.setLayout(null);f.setBounds(450, 200, 450, 300);JPanel p = new JPanel();p.setBounds(7, 5, 430, 260);p.setLayout(null);p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(new Color(0,0,50), 2), "  教务管理系统  ",TitledBorder.CENTER, TitledBorder.TOP));JLabel label = new JLabel("USER ID");label.setBounds(125,50,80,25);p.add(label);id = new JTextField();id.setBounds(225, 50, 100, 25);p.add(id);label = new JLabel("PASSWORD");label.setBounds(115, 85, 100, 25);p.add(label);pw = new JPasswordField();pw.setBounds(225, 85, 100, 25);p.add(pw);JRadioButton c1 = new JRadioButton("学生登录");JRadioButton c2 = new JRadioButton("教师登录");JRadioButton c3 = new JRadioButton("管理员登录");c1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {index = "student";}});c2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {index = "teacher";}});c3.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {index = "admin";}});ButtonGroup bg = new ButtonGroup();bg.add(c1);bg.add(c2);bg.add(c3);c1.setBounds(75, 140, 80, 25);c2.setBounds(175, 140, 80, 25);c3.setBounds(275, 140, 100, 25);p.add(c1);p.add(c2);p.add(c3);JButton b = new JButton("登录");b.setBackground(new Color(0, 0, 50));b.setFocusPainted(false);b.setForeground(Color.WHITE);b.addActionListener(this);b.setBounds(115, 180, 100, 30);p.add(b);b = new JButton("忘记密码");b.setBackground(new Color(0, 0, 50));b.setFocusPainted(false);b.setForeground(Color.WHITE);b.addActionListener(this);b.setBounds(235, 180, 100, 30);p.add(b);f.add(p);f.setVisible(true);f.setResizable(false);}public static Connection getConnection() {Connection con = null; // 创建用于连接数据库的Connection对象try {Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动con = DriverManager.getConnection("jdbc:mysql://localhost:3306/stuadmin", "root", "123456");// 创建数据连接} catch (Exception e) {System.out.println("数据库连接失败" + e.getMessage());}return con; // 返回所建立的数据库连接}public static int login(String table, String id, String pw) {conn = getConnection(); // 同样先要获取连接,即连接到数据库try {String sql = "SELECT * FROM " + table + " WHERE " + table+ "id = '" + id + "'"; // 查询数据的sql语句st = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象,st属局部变量ResultSet rs = st.executeQuery(sql); // 执行sql查询语句,返回查询数据的结果集while (rs.next()) { // 判断是否还有下一个数据String Spw = rs.getString(table + "pw");if (pw.equals(Spw)) {return 1;}}conn.close(); // 关闭数据库连接} catch (SQLException e) {System.out.println("查询数据失败");return 0;}return 0;}public static void main(String[] args) {new StuAdmin();}@SuppressWarnings("deprecation")@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubString cmd = e.getActionCommand();if (cmd.equals("登录")) {if (index == "student") {if (login("student", id.getText(), pw.getText()) == 1) {f.dispose();try {new StuBoard(id.getText());} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}} else {JOptionPane.showMessageDialog(null, "用户名或密码输入有误!", "error",0);}} else if (index == "teacher") {if (login("teacher", id.getText(), pw.getText()) == 1) {f.dispose();try {new TeaBoard(id.getText());} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}} else {JOptionPane.showMessageDialog(null, "用户名或密码输入有误!", "error",0);}} else if (index == "admin") {if (login("admin", id.getText(), pw.getText()) == 1) {f.dispose();try {new AdmBoard();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}} else {JOptionPane.showMessageDialog(null, "用户名或密码输入有误!", "error",0);}} else {JOptionPane.showMessageDialog(null, "请选择登录方式!", "error", 0);}} else if (cmd.equals("忘记密码")) {f.dispose();new ForgetPw(f);}}}


0 0
原创粉丝点击