程序员必备小知识系列--做个简单的Java学生考勤系统04--签到功能的开发

255 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

重头戏来了,终于到了讲签到功能的核心了

主要讲签到相关的几个方法

1、新增签到方法

public static void qiandao_add(int xuesheng_id,int kebiao_id)
{
	String sql="insert into t_qiandao values(?,?,?)";
	Object[] params={xuesheng_id,kebiao_id,new SimpleDateFormat("yyyy-MM-dd").format(new Date())};
	DB mydb=new DB();
	mydb.doPstm(sql, params);
	mydb.closed();
}

方法讲解: 1、参数:传入学生id和课表id,理由很简单,哪个学生在哪堂课签到了。 2、sql语句:插入签到表的简单sql 3、doPstm方法是执行该sql

2、判断学生签到方法

public static String panduan_xuesheng_qiandao(int xuesheng_id,int kebiao_id)
{
	String i="fou";
	
	String sql="select * from t_qiandao where xuesheng_id=? and kebiao_id=?";
	Object[] params={xuesheng_id,kebiao_id};
	DB mydb=new DB();
	try
	{
		mydb.doPstm(sql, params);
		ResultSet rs=mydb.getRs();
		while(rs.next())
		{
			i="shi";
		}
		rs.close();
	}
	catch(Exception e)
	{
		e.printStackTrace();
	}
	mydb.closed();
	return i;
}

方法讲解: 传入学生id和课程id,根据这两个id在数据库查询签到表有没有记录,如果有,则返回”shi",没有,则返回"fou"

3、获得所有的签到信息

public static List get_qiandao_list(int kebiao_id)
{
	List qiadaoList=new ArrayList();
	
	String sql="select * from t_qiandao where kebiao_id=?";
	Object[] params={kebiao_id};
	DB mydb=new DB();
	try
	{
		mydb.doPstm(sql, params);
		ResultSet rs=mydb.getRs();
		while(rs.next())
		{
			Tqiandao qiandao=new Tqiandao();
			
			qiandao.setId(rs.getInt("id"));
			qiandao.setKebiao_id(rs.getInt("kebiao_id"));
			qiandao.setXuesheng_id(rs.getInt("xuesheng_id"));
			qiandao.setShijian(rs.getString("shijian"));			
			qiandao.setXuesheng(get_xuesheng(rs.getInt("xuesheng_id")));
			
			qiadaoList.add(qiandao);
		}
		rs.close();
	}
	catch(Exception e)
	{
		e.printStackTrace();
	}
	mydb.closed();
	System.out.println(qiadaoList.size()+"%%%");
	return qiadaoList;
}

方法讲解: 传入课程id,查询该课程所有签到学生的信息,包括签到时间,学生id(后续会根据学生id查询该学生信息,比如姓名,性别等)