Mysql教程

22.6 学籍管理模块

学籍管理模块主要管理学员的学籍信息。该模块包括4个功能,分别是添加学员的学籍信息、查询学员的学籍信息、修改学员的学籍信息和删除学员的学籍信息。本节将为读 者介绍这4个功能的内容。

22.6.1 添加学员的学籍信息

管理员进入insertStudent.jsp页面,在该页面中添加学员的学籍信息。添加完成后,管理系统会将学籍信息传递给insertStudent.java文件。insertStudent.java文件中调用update()方法,通过该方法将新记录插入到studentInfo表中。insertStudent.java文件的部分代码如下:

DB db = new DB();
db.connectMySQL();
if(sno!=null && !sno.equals(""){
sql="SELECT * FROM studentInfo WHERE sno=sno";
try{
ResultSet rs=db.query(sql);
if(rs.next(){
System.out.print("该记录已经存在!");
response.send Redirect("../lnsertError.html");
else{
sql='INSERT INTO studentInfo VALUES("+sno+",'"+sname+"','"+sex+"',"+age+",'"+identify+"',
'"+tel+"','"+car_type+"','"+enroll_time+"','"leave_time"','"+scondition+"','"+s_text+"')";
}else{
i=db.update(sql);
if(i>0){
System.out.println("记录插入成功");
request.getSession().setAttribute("flag", "OK");
response.sendRedirect("../queryStudent.jsp");
{
System.out.println("记录插入失败!);
response.sendRedirect("../lnsertError.html");
db.closeDB();
} catch (SQLException e) {
e.printStack();
response.sendRedirect("../InsertErroe.jsp")
}
}

如果插入的记录已经存在,那么就不能再插入了;如果记录不存在,可以通过update()方法执行INSERT语句,将新记录插入studentInfo表中。

22.6.2 查询学员的学籍信息

管理员进入queryStudent.jsp页面查询学籍信息,该页面会将查询条件传递给queryStudent.java文件。在queryStudent.java中会根据传递过来的查询条件组合成不同的 SELECT语句。然后调用query()方法执行SELECT语句,从studentInfo表中查询出满足条件的记录。由于这部分的代码比较多,下面只列出queryStudent.java中生成SELECT语句的代码。

if(!sno.equals("")){
//生成只使用学号查询的SELECT语句
sql="SELECT * FROM studentInfo WHERE sno=sno";
}else{
if(!sname.equals("")){
if(carType.equals("all")){
if(scondition.equals("all")){
//生成只使用sname字段查询的SELECT语句
sql="SELECT * FROM studentInfo WHERE sname LIKE '%"+sname+"%'";
}else{
//生成使用sname字段和scondition字段査询的SELECT语句
sql="SELECT * FROM studentInfo WHERE sname LIKE '%"+sname+"%' AND scondition='"+scondition+"'";
}
}else{
if(scondition.equals("all")){
//生成使用sname字段和car_type字段查询的SELECT语句
sql="SELECT * FROM studentInfo WHERE sname LIKE '%"
+sname+"%' AND car_type='"+carType+"'";
}else{
//生成使用sname字段、scondition字段和car_type字段查询的SELECT语句
sql="SELECT * FROM studentInfo WHERE sname LIKE '%”
+sname+"%' AND scondition='"+scondition+"' AND car_type='"+ carType+'"";
}
}
}else{
if(carType.equals("all"){
if(scondition.equals("all")){
//生成查询studentInfo表的所有记录的SELECT语句
sql="SELECT * FROM studentlnfo";
}else{
//生成使用scondition字段查询的SELECT语句
sql="SELECT * FROM studentInfo WHERE scondition='"+scondition+'"";
}else{
if(scondition.equals("all")){
//生成使用car_type字段查询的SELECT语句
sql="SELECT * FROM studentinfo WHERE car_type='"+carType+'"";
}else{
//生成使用scondition字段和car_type字段查询的SELECT语句
sql="SELECT * FROM studentinfo WHERE scondition='"+scondition+'" AND car_type='"+carType+'"";

modifyStudent.java文件中将获取来的参数值组合成SELECT语句。然后通过query()方法执行SELECT语句,并且将査询结果存储到ResultSet对象中。

22.6.3 修改学员的学籍信息

管理员进入modifyStudent.jsp页面后,可以修改学员的学籍信息。修改完成后,单击【确定】按钮,修改后的信息就可以提交给modifyStudent.java文件。这个文件调用DB.java 中的update()方法将修改的数据写入studentinfo表。modifyStudent.java文件生成UPDATE 语句的代码如下:

//生成UPDATE语句
sql="UPDATE studentinfo SET sname='"+sname+"',sex="'+sex+'",age="+age+",identify="'+identify+
"',tel='"+tel+"',car_type='"+car_type+'",enroll_time="'+enroll_time+"',leave_time="'+leave_time+ "',scondition='"+scondition+"',s_text="'+s_text+'" WHERE sno=sno";

modifyStudent.java文件中将获取来的参数值组合成UPDATE语句。UPDATE语句存储在字符串变量sql中。然后调用update()方法执行UPDATE语句。如果update()方法返回值大于0,就说明有记录被更新,这表示更新成功。

22.6.4删除学员的学籍信息

管理员在queryStudent.jsp页面查询信息后,可以在每个信息的后面看到【删除】链接。 单击【删除】链接后,程序会将学员的学号(sno)值传递给deleteStudent.java文件。 deleteStudent.java文件获取sno值后,会生成DELETE文件。然后调用叩update()方法执行DELETE语句。deleteStudent.java文件中生成DELETE语句的代码如下:

sql="DELETE FROM studentinfo WHERE sno=sno";

deleteStudent.java文件调用update()方法执行0delete语句。执行成功后,update()方法会返回一个数值。如果返回值大于0,就表示有记录被删除。

关注微信获取最新动态