⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coursedao.java

📁 我实习时候的设计
💻 JAVA
字号:
package cn.yxh.dao;

import java.sql.*;
import java.util.ArrayList;

import cn.yxh.util.DBConn;

public class CourseDAO {
	//得到全部的选课信息
	public static ResultSet allCoureseInfo() {
		String sql = "select * from course";
		Connection conn = DBConn.getConn();
		ResultSet rs = null;
		
		try{
			PreparedStatement pstmt = conn.prepareStatement(sql);
			rs = pstmt.executeQuery();
		}catch(Exception e) {
			e.printStackTrace();
		}
		return rs;
	}
	
	//得到一个学生的选课情况
	public static ResultSet signalStudentCourseInfo(String studentid) {
		String sql = "select c.* ,sc.score from sc sc right join course c on sc.courseid = c.courseid where sc.studentid = ?";
		Connection conn = DBConn.getConn();
		ResultSet rs = null;
		
		try{
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, studentid);
			rs = pstmt.executeQuery();
		}catch(Exception e) {
			e.printStackTrace();
		}
		
		return rs;
	}
	public static ArrayList ShowSC(String teacherid)
	{
		ArrayList a=new ArrayList();
	
		String sql="select sc.*,student.department,student.name from sc,student,course,teacher where sc.studentid=student.studentid and sc.courseid=course.courseid and course.courseid=(select course.courseid from course where course.department=teacher.department and course.teachername=teacher.teachername and teacher.teacherid=?)";
		
		Connection conn=DBConn.getConn();
		ResultSet rs=null;
		try
		{
			PreparedStatement pstmt=conn.prepareStatement(sql);
			pstmt.setString(1,teacherid);
			
			rs=pstmt.executeQuery();
			while(rs.next())
			{
				SC s=new SC();
				
				s.setDepartment(rs.getString("department"));
				s.setName(rs.getString("name"));
				
				
				
				s.setCourseid(rs.getString("courseid"));
				s.setStudentid(rs.getString("studentid"));
				s.setScore(rs.getString("score"));
				s.setScid(rs.getInt("scid"));
				a.add(s);
		
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		return a;
	}
	
	//学生选择某门课
	public static boolean selectCourse(String studentid,String courseid) {
		boolean flag = false;
		Connection conn = DBConn.getConn();
		String sql = "insert into sc(studentid,courseid) values(?,?)";
		ResultSet rs = null;
		
		try{
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, studentid);
			pstmt.setString(2, courseid);
			pstmt.executeUpdate();
			flag = true;
		}catch(Exception e) {
			e.printStackTrace();
		}
		//学生选上一门课后,课程容量应减1
		if(flag) {
			rs = CourseDAO.signalCourseInfo(courseid);
			try {
				if(rs.next()) {
					int number = rs.getInt("number") - 1 ;
					String sql1 = "update course set number = ? where courseid = ?";
					PreparedStatement pstmt = conn.prepareStatement(sql1);
					pstmt.setInt(1, number);
					pstmt.setString(2, courseid);
					pstmt.executeUpdate();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return flag;
	}
	
	//学生选课前判断是否已经选择了该课程
	public static boolean checkSelectCourse(String studentid,String courseid) {
		String sql = "select count(*) from sc where studentid = ? and courseid = ?";
		Connection conn = DBConn.getConn();
		boolean flag = false;
		
		try{
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, studentid);
			pstmt.setString(2, courseid);
			ResultSet  rs = pstmt.executeQuery();
			rs.next(); 
			if(rs.getInt(1)>0) {
				flag = true;
				}
		}catch(Exception e) {
			e.printStackTrace();
		}
		return flag;
	}
	
	//获得某门课程的信息
	public static ResultSet signalCourseInfo(String courseid) {
		ResultSet rs = null;
		String sql = "select * from course where courseid = ?";
		Connection conn = DBConn.getConn();
		
		try{
			PreparedStatement pstmt =conn.prepareStatement(sql);
			pstmt.setString(1, courseid);
			rs = pstmt.executeQuery();
		}catch(Exception e) {
			e.printStackTrace();
		}
		return rs;
	}
	
	//学生删除某门已选课程
	public static boolean studentDeleteCourse(String studentid,String courseid) {
		boolean flag = false;
		Connection conn = DBConn.getConn();
		String sql = "delete from sc where studentid = ? and courseid = ?";
		ResultSet rs = null;
		
		try{
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, studentid);
			pstmt.setString(2, courseid);
			pstmt.executeUpdate();
			flag = true;
		}catch(Exception e) {
			e.printStackTrace();
		}
//		学生删除一门课后,课程容量应加1
		if(flag) {
			rs = CourseDAO.signalCourseInfo(courseid);
			try {
				if(rs.next()) {
					int number = rs.getInt("number") + 1 ;
					String sql1 = "update course set number = ? where courseid = ?";
					PreparedStatement pstmt = conn.prepareStatement(sql1);
					pstmt.setInt(1, number);
					pstmt.setString(2, courseid);
					pstmt.executeUpdate();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return flag;
	}
	
	//模糊查询课程信息
	public static ResultSet allCourseByLike(String keyword) {
		String sql = "select * from course where courseid like ? or coursename like ? or department like ? or address like ? or time like ? or teachername like ?";
		Connection conn = DBConn.getConn();
		ResultSet rs = null;
		
		try{
			PreparedStatement pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, "%"+keyword+"%");
			pstmt.setString(2, "%"+keyword+"%");
			pstmt.setString(3, "%"+keyword+"%");
			pstmt.setString(4, "%"+keyword+"%");
			pstmt.setString(5, "%"+keyword+"%");
			pstmt.setString(6, "%"+keyword+"%");
			rs = pstmt.executeQuery();
		}catch(Exception e) {
			e.printStackTrace();
		}
		return rs;
	}
	public void saveSC(String studentid,String courseid,String score)
	{

		Connection conn=DBConn.getConn();
		String sql="insert into sc(studentid,courseid,score)values(?,?,?)";
	
		try {
			PreparedStatement pstmt=conn.prepareStatement(sql);
			pstmt.setString(1,studentid);
			pstmt.setString(2,courseid);
			pstmt.setString(3,score);
			pstmt.execute();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -