
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY  bgcolor=pink ><Font size=4>
<P>在该页面输入若干个学生的基本信息，<BR>或直接连接到成绩输入页面。
<%!//处理字符串的一个常用方法：
    public String getString(String s)
     { 
	if(s==null) s="";
       	try {
		byte a[]=s.getBytes("ISO-8859-1");
            	s=new String(a);
           }
       	catch(Exception e){}
       	return s;
     }
%>
<% //为了防止客户浏览器限制了Cooker的使用，需对连接进行重定向处理：
   String s1=response.encodeRedirectURL("inputMessage.jsp");
   String s2=response.encodeRedirectURL("inputResult.jsp");
%>
<% //为了防止客户直接进入该页面，首先从session对象获取密码和帐号信息：
    String account="",secret="";
    if(session.isNew())
       {//如果直接进入该页面就再连接到登录页面：
         response.sendRedirect("login.jsp"); 
       }
    else
       { account=(String)session.getAttribute("account");
         secret=(String)session.getAttribute("secret");
         secret=getString(secret); 
         account=getString(account);
       }
   //连接到数据库验证帐号和密码：
    	Connection con=null;
    	Statement sql=null;
    	ResultSet rs=null;
    	boolean boo=false;
    	try{
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           }
    	catch(ClassNotFoundException event){}
    	try{
      		con=DriverManager.getConnection("jdbc:odbc:manage","","");
       		sql=con.createStatement();
       		String condition="SELECT * FROM verify WHERE 帐号 = "+"'"+account+"'";
       		rs =sql.executeQuery(condition);
       		while(rs.next())
            	{ 
			String n=rs.getString("帐号");
              		String s=rs.getString("密码");
              		if(account.equals(n)&&secret.equals(s))
                	{boo=true; break;
                	}
            	}
      	  }
    	catch(SQLException e1) {}
   //如果帐号密码正确，就显示输入学生基本信息的表单界面：
   	if(boo)
    	{
		out.print("<FORM action= "+s1+" method=post>");
     		out.print("<P>输入学生的基本信息：");
     		out.print("<BR>学号：");
     		out.print("<Input type=text name=number1>");
     		out.print("<BR>姓名：");
     		out.print("<Input type=text name=name>");
     		out.print("<BR>专业：");
     		out.print("<Input type=text name=zhuanye>");
     		out.print("<BR>年级：");
     		out.print("<Input type=text name=grade>");
     		out.print("<BR> <Input type=submit value=提交>");
     		out.print("</FORM>");
    	}
   	else
    	{response.sendRedirect("login.jsp");
    	}
%>
<% //获取基本信息存入数据库中的"基本信息"表中：
   	String number1=request.getParameter("number1"), 
          name   =request.getParameter("name"),
          zhuanye=request.getParameter("zhuanye"),
          grade  =request.getParameter("grade");
   	if(number1==null)
      	{number1="????????";
      	}
   	number1=getString(number1);
   	number1=number1.trim();
   	name   =getString(name); 
   	zhuanye=getString(zhuanye);
   	grade  =getString(grade);   
   	String  basicmessage=
   	"INSERT INTO 基本信息 VALUES"+"("+"'"+number1+"','"+name+" ',' "+
                                      zhuanye+" ',' "+grade+" ' "+")";
      	if(!(number1.startsWith("?")))
        { //首先查找基本信息表中是否已存在该学生的信息：
          	rs=sql.executeQuery("SELECT * FROM 基本信息 WHERE 学号 ="+" '"+number1+"' " ); 
          //如果该学号的学生已经存在，就转入成绩输入页面：
          	boolean line=rs.next();
          //通过line判断结果集是否有记录
           	if(line==true)
              	{  
			out.print("该考号已经存在，请再录入其它学生的基本信息");
                 	out.print("<BR>也可以点击按钮：进入成绩录入页面");
                 	//显示该生的基本信息：
                 	out.print("<BR>学号"+rs.getString(1)) ;
                 	out.print("<BR>姓名"+rs.getString(2)) ;
                 	out.print("<BR>专业"+rs.getString(3)) ;
                 	out.print("<BR>年级"+rs.getString(4)) ;
                }
          //如果该学号的学生不存在，就将信息写入基本信息表，再转入成绩输入页面：
         	else 
             	{
			sql.executeUpdate(basicmessage);
              		out.print("<BR>该学生的信息已录入成功，请再录入其它学生的基本信息"); 
              		out.print("<BR>也可以点击按钮：进入成绩录入页面");
                }
        }
     	else
        {out.print("必须输入学号，学号不可以用?开头");
        }
    	con.close(); 
%>
<FORM action=<%=s2%>>
<P>点击按钮连接到学生成绩输入页面：
<BR><Input type="submit" value="连接到学生成绩输入页面">
<BR><A HREF="main.jsp">返回主页</A>
</BODY>
</HTML>

