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

📄 subjectdao.java

📁 可以实现在线考试
💻 JAVA
字号:
package dao;

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

import po.*;
import vo.*;

public class SubjectDAO 
{
	private Connection conn = null;
	private Statement state = null;
	private ResultSet rs = null;
	
	//查询所有科目
	public ArrayList findAllSubject()
	{
		ArrayList array = new ArrayList();
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			rs = state.executeQuery("select * from subject");
			while(rs.next())
			{
				SubjectPO spo = new SubjectPO();
				spo.setCid(rs.getInt("cid"));
				spo.setCname(rs.getString("cname"));
				spo.setAsknum(rs.getInt("asknum"));
				spo.setExamdate(rs.getString("examdate"));
				spo.setFlag(rs.getString("flag"));
				spo.setTotalscore(rs.getInt("totalscore"));
				array.add(spo);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(rs != null)
					rs.close();
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return array;
	}
	//根据科目查出一条记录
	public SubjectPO findByCname(String cname)
	{
		SubjectPO spo = null;
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			rs = state.executeQuery("select * from subject where cname = '"+cname+"'");
			if(rs.next())
			{
				spo = new SubjectPO();
				spo.setCid(rs.getInt("cid"));
				spo.setCname(rs.getString("cname"));
				spo.setAsknum(rs.getInt("asknum"));
				spo.setExamdate(rs.getString("examdate"));
				spo.setFlag(rs.getString("flag"));
				spo.setTotalscore(rs.getInt("totalscore"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(rs != null)
					rs.close();
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return spo;
	}
	
	//根据科目ID查询
	public SubjectPO findByCid(int cid)
	{
		SubjectPO spo = null;
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			rs = state.executeQuery("select * from subject where cid="+cid);
			if(rs.next())
			{
				spo = new SubjectPO();
				spo.setCid(rs.getInt("cid"));
				spo.setCname(rs.getString("cname"));
				spo.setAsknum(rs.getInt("asknum"));
				spo.setExamdate(rs.getString("examdate"));
				spo.setFlag(rs.getString("flag"));
				spo.setTotalscore(rs.getInt("totalscore"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(rs != null)
					rs.close();
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return spo;
	}
	
	//取科目ID号
	public int getNextID()
	{
		int myID = 0;
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			rs = state.executeQuery("select max(cid) cid from subject");
			if(rs.next())
			{
				myID = rs.getInt("cid");
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(rs != null)
					rs.close();
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return ++myID;
	}
	//添加科目
	public boolean addSubject(SubjectPO subject)
	{
		boolean isok = true;
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			int i = state.executeUpdate("insert into subject values("+subject.getCid()+",'"+subject.getCname()+"',"+subject.getTotalscore()+",to_date('"+subject.getExamdate()+"','yyyy-mm-dd'),"+subject.getAsknum()+",'"+subject.getFlag()+"')");
			if(i > 0)
			{
				isok = true;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return isok;
	}
	
	//删除科目_科目所对应的所有学生
	public boolean deleteSubject(int cid)
	{
		boolean isok = false;
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			int i = state.executeUpdate("delete from subject where cid="+cid);
			if(i > 0)
			{
				isok = delete(cid);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return isok;
	}
	public boolean delete(int cid)
	{
		boolean isok = false;
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			rs = state.executeQuery("select * from relation where cid ="+cid);
			while(rs.next())
			{
				RelationPO rpo = new RelationPO();
				rpo.setCid(rs.getInt("cid"));
				rpo.setSid(rs.getInt("sid"));
				rpo.setExamflag(rs.getString("examflag"));
				rpo.setGid(rs.getInt("gid"));
				int i = state.executeUpdate("delete from subject where sid="+rpo.getSid());
				if(i > 0)
				{
					isok = true;
				}
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(rs != null)
					rs.close();
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return isok;
	}
	
	//修改科目
	public boolean updateSubject(SubjectPO subject)
	{
		boolean isok = false;
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			int i = state.executeUpdate("update subject set cname='"+subject.getCname()+"',totalscore="+subject.getTotalscore()+",examdate=to_date('"+subject.getExamdate()+"','yyyy-mm-dd'),asknum="+subject.getAsknum()+",flag='"+subject.getFlag()+"' where cid='"+subject.getCid()+"'");
			if(i > 0)
			{
				isok = true;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return isok;
	}
	
	//遍历出考试状态——只用于查示
	public ArrayList efalg()
	{
		ArrayList array = new ArrayList();
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			rs = state.executeQuery("select * from eflag");
			while(rs.next())
			{
				EflagPO epo = new EflagPO();
				epo.setFlag(rs.getString("flag"));
				array.add(epo);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(rs != null)
					rs.close();
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return array;
	}
	//遍历出难度——只用于查示
	public ArrayList difficultname()
	{
		ArrayList array = new ArrayList();
		conn = Tools.getConnection();
		try {
			state = conn.createStatement();
			rs = state.executeQuery("select * from difficult");
			while(rs.next())
			{
				DifficultPO dpo = new DifficultPO();
				dpo.setDid(rs.getInt("did"));
				dpo.setDname(rs.getString("dname"));
				array.add(dpo);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(rs != null)
					rs.close();
				if(state != null)
					state.close();
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return array;
	}
}

⌨️ 快捷键说明

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