
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY  bgcolor=pink ><Font size=1>
<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>

