java学生管理系统源码(5)

2019-03-03 19:56

// 按照studentID和courseName来查找学生成绩信息,返回查找到的成绩信息,没有找到则抛出异常

public static Grade findByIDAddCourseName(String studentID, String courseName) throws GradeNotFoundException { String condition = \ + studentID + \ + courseName + \; List grade = new ArrayList(); if (find(grade, condition) < 1) {

throw new GradeNotFoundException(); }

return grade.get(0); }

// 查询出所有的学生成绩

public static int findAll(List grades) { String condition = \;

return find(grades, condition); }

// 一个私有方法,查找的核心方法,condition是sq语言的查找条件

private static int find(List grades, String condition) { Connection conn = null;

PreparedStatement pstmt = null; ResultSet rs = null; int record = 0; try {

conn = DBConnection.getConn();

String sql = \ + condition; pstmt = DBConnection.getPstmt(conn, sql); rs = DBConnection.executeQuery(pstmt); while (rs.next()) {

grades.add(new Grade(rs.getString(1), rs.getString(2), rs

.getInt(3), rs.getInt(4), rs.getDouble(5))); record++; }

} catch (SQLException e) { e.printStackTrace(); } finally {

DBConnection.closeRs(rs);

DBConnection.closePstmt(pstmt); DBConnection.closeConn(conn); }

return record;

{ }

}

public static boolean updateSchoolSemester(int school, int semester) }

Connection conn = null;

PreparedStatement pstmt = null; boolean flag = false; try {

conn = DBConnection.getConn();

String sql = \grade set semester = ?, schoolYear = ?\; pstmt = DBConnection.getPstmt(conn, sql); pstmt.setInt(1, semester); pstmt.setInt(2, school);

if (pstmt.executeUpdate() > 0) { flag = true; }

} catch (SQLException e) { e.printStackTrace(); } finally {

DBConnection.closePstmt(pstmt); DBConnection.closeConn(conn); }

return flag;

com.ccniit.student.view.Login类

说明:此类是显示层的登录界面,此界面类似一个对话框,但是他是继承JFrame,分为两个模块:学生登录和教师登录。有一个下拉条可以选择是学生登录还是教师登录,当选择学生登录时,会登录进入学生界面,当选择教师登录时会进入教师界面。

package com.ccniit.student.view;

import java.awt.Font;

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

import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComboBox; 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 javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

import com.ccniit.student.Student;

import com.ccniit.student.manage.PasswordNotCorrectException; import com.ccniit.student.manage.StudentManage;

import com.ccniit.student.manage.StudentNotFoundException; /*

* 此系统为学生管理系统0.0.4的升级版本,在上一个版本基础上对系统进行了大量优化和改进,使用户有更佳的体验 */

public class Login extends JFrame {

private Font fontLogo = new Font(\楷体\, 1, 20);

private JLabel jlLogo = new JLabel(\学生管理系统登录界面\); private Font font = new Font(\楷体\, 1, 25); private JLabel jlLogin = new JLabel(\教师登录\); String[] post = { \教师\, \学生\ };

private JComboBox jcbPost = new JComboBox(post); private JLabel jlID = new JLabel(\教师号:\); private JTextField jtfID = new JTextField(20); private JLabel jlPassword = new JLabel(\密码:\);

private JPasswordField jpfPassword = new JPasswordField(20); private JButton jbLogin = new JButton(\登录\); private JButton jbCancel = new JButton(\退出\); // 设置背景图片

private JLabel jlImage = new JLabel(); private ImageIcon iiImage;

public Login() {

setTitle(\学生管理系统0.0.5-登录\); setSize(400, 300);

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false);

// setLayout(new FlowLayout(FlowLayout.CENTER,100,30)); setLayout(null);

iiImage = new ImageIcon(\); jlImage.setIcon(iiImage);

}

jlImage.setSize(400, 300); jlImage.setLocation(0, 0);

getLayeredPane().add(jlImage, new Integer(Integer.MIN_VALUE)); JPanel jp = (JPanel) getContentPane(); jp.setOpaque(false); init();

public void init() {

jlLogo.setLocation(100, 5); jlLogo.setSize(250, 40); jlLogo.setFont(fontLogo);

add(jlLogo);

jlLogin.setFont(font);

jlLogin.setLocation(140, 30); jlLogin.setSize(150, 50); add(jlLogin);

jcbPost.setLocation(150, 75); jcbPost.setSize(80, 25);

jcbPost.setFocusable(false); // 添加登录界面的角色选择监听

jcbPost.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {

if (jcbPost.getSelectedItem().equals(\学生\)) { jlLogin.setText(\学生登录\); jlID.setText(\学号:\); } else {

jlLogin.setText(\教师登录\); jlID.setText(\教师号:\); } } });

add(jcbPost);

jlID.setLocation(80, 120); jlID.setSize(50, 30); add(jlID);

jtfID.setLocation(130, 120); jtfID.setSize(150, 25); add(jtfID);

jlPassword.setLocation(80, 160); jlPassword.setSize(50, 30);

add(jlPassword);

jpfPassword.setLocation(130, 160); jpfPassword.setSize(150, 25); add(jpfPassword);

// 监听登录按钮

jbLogin.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {

// 由于一般就是一个教师修改学生信息,所以教师没有建表,所有的教师都通过一个id号和密码登录

if (jcbPost.getSelectedItem().equals(\教师\)) { if (jtfID.getText().trim().equals(\) &&

String.valueOf(jpfPassword.getPassword()).trim()

.equals(\)) { setVisible(false);

new Teacher().setVisible(true); } else {

JOptionPane.showMessageDialog(Login.this,

\登录失败!教师号:jiaoshi 密码:jiaoshi.\); } } else {

String id = jtfID.getText().trim(); String password =

String.valueOf(jpfPassword.getPassword()) .trim();

if (\.equals(id)) {

JOptionPane.showMessageDialog(Login.this, \请输入学号!\);

return;

} else if (\.equals(password)) {

JOptionPane.showMessageDialog(Login.this, \请输入密码!\);

return; }

try {

// 检查学生登录是否正确,会抛出下面的两种异常,返回登录的学生信息,传递给StudentGrade类

Student student = StudentManage.check(id, password);

setVisible(false);

new StudentGrade(student, false).setVisible(true);

} catch (StudentNotFoundException e1) {


java学生管理系统源码(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《陈涉世家》2009-2011年中考试题集锦

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: