
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<HTML>
<BODY  bgcolor=yellow ><Font size=1>
 <%!//处理字符串的一个常用方法：
    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;
     }
 %>
<% 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("<P>输入学生的考试科目、成绩等信息：");
     out.print("<FORM action="+s2+" method=post>");
     out.print("<BR>学号："); 
     out.print("<Input type=text name=number2>");
     out.print("<BR>科目：");
     out.print("<Input type=text name=subject>");
     out.print("<BR>成绩：");
     out.print("<Input type=text name=result>");
     out.print("<BR> <Input type=submit value=提交>");
     out.print("</FORM>");
    }
   else
    {response.sendRedirect("login.jsp");
    }
%>
<%     String number2=request.getParameter("number2"), 
        subject=request.getParameter("subject"),
        result=request.getParameter("result");
        if(number2==null)
          {number2="########";
          }
         number2=getString(number2);
         subject=getString(subject); 
         result=getString(result);
         number2=number2.trim();
    //从"基本信息"表中查找学号是nunumber2的记录：
         String basicmessage=
         "SELECT * FROM 基本信息 WHERE 学号 = "+" '"+number2+"'";
    try {  sql=con.createStatement();
           rs=sql.executeQuery(basicmessage);
           boolean line=rs.next();
          //通过line判断结果集是否有记录,
          //如果没有该学生的基本信息就返回提示：
         if(line==false)
            {out.print("你还没有输入成绩呢,"); 
             out.print("如果你输入的学号不在<BR>学生的基本信息表中,");
             out.print("请点击按钮：连接到学生<BR>基本信息输入页面.");
            } 
         else
            {  //显示该生的基本信息：
               out.print("<BR>学号"+rs.getString(1)) ;
               out.print("<BR>姓名"+rs.getString(2)) ;
               out.print("<BR>专业"+rs.getString(3)) ;
               out.print("<BR>年级"+rs.getString(4)) ;
               String resultmessage=
               "INSERT INTO 成绩 VALUES"+"("+"'"+number2+"','"+subject+" ','"+result+"' "+")";
               sql.executeUpdate(resultmessage);
               out.print("<BR>成绩已被录入");
            }
        }
     catch(SQLException e)
        {out.print("<BR>"+subject+"该课程的成绩已经存在<BR>不允许重复录入");
        } 
  con.close(); 
%>
<FORM action=<%=s1%>>
<P>点击按钮连接到学生信息输入页面：
<BR><Input type="submit" value="连接到学生基本信息输入页面">
</FORM>
</BODY>
</HTML>

