这段JSP代码不能运行,请问这是什么原因,环境设置没有问题,能连接数据库并能输出排序.但是在主页查询成绩时输入名字提交后就出错,不能正确输出...
****************************byname.jsp**************************************
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<html>
<body>
<%
   //获取提交的姓名
   String name=request.getParameter("name");
         if(name==null)
           {
              name=" ";
           
           }
   byte b[]=name.getBytes("ISO-8859-1");
   name=new String(b);
   Connection con=null;
   Statement sql=null;
   ResultSet rs=null;
   try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }
   catch(ClassNotFoundException e) {}
   try{
        con=DriverManager.getConnection("jdbc:odbc:liu","sa","******");
        sql=con.createStatement();
        String condition="SELECT * FROM stu_score WHERE 姓名 ="+"'"+name+"'"
        rs=sql.executeQuery(condition);
   out.print("<Table Border>");
       out.print("<TR>");
       out.print("<TH width=100>"+"学号");
       out.print("<TH width=100>"+"姓名");
       out.print("<TH width=50>"+"数学成绩");
       out.print("<TH width=50>"+"英语成绩");
       out.print("<TH width=50>"+"物理成绩");
       out.print("</TR>");   
       while(rs.next())
         {
           out.print("<TR>");
           out.print("<TD>"+rs.getString(1)+"</TD>");
           out.print("<TD>"+rs.getString(2)+"</TD>");
           out.print("<TD>"+rs.getInt("数学成绩")+"</TD>");
           out.print("<TD>"+rs.getInt("英语成绩")+"</TD>");
           out.print("<TD>"+rs.getInt("物理成绩")+"</TD>");
           out.print("</TR>");
        
          }
       out.print("</Table>");
       con.close();  
       }
   catch(SQLException e) { }       
 %>
</body>
</html>

解决方案 »

  1.   

    报什么错?
    name==null处理的不太对吧。当name为空,应该让输出全部或返回提示输入name。
      

  2.   

    建议:rs,sql,con都应该放在finally里面关闭
      

  3.   

    ************************************byname.jsp**********************************
    exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 5 in the jsp file: /test4_1.jsp
    Generated servlet error:
    Syntax error, insert ";" to complete LocalVariableDeclarationStatement
      

  4.   

    test4_1.jsp贴出来看,好象局域变量声明是少了";"
      

  5.   

    test4_1.jsp 就是上面的byname.jsp,我把test4_1.jsp改成了byname.jsp.
      

  6.   

    soso119(soso119):
    哪里错了啊?请你指教一下...
      

  7.   

    String condition="SELECT * FROM stu_score WHERE 姓名 ="+"'"+name+"'"
    少分号
      

  8.   

    String condition="SELECT * FROM stu_score WHERE 姓名 ="+"'"+name+"'"
    少分号
    ************************************
    谢谢 believefym(暮色,miss,迷失,miss) 
    是我太粗心了,忘了加分号....
    ______________________
    问题解决了,谢谢大家..
      

  9.   

    你的这条语句写错了
    String condition="SELECT * FROM stu_score WHERE 姓名 ="+"'"+name+"'"
    应改为
    String condition="SELECT * FROM stu_score WHERE 姓名 ='"+name+"'";
      

  10.   

    你的这条语句写错了
    String condition="SELECT * FROM stu_score WHERE 姓名 ="+"'"+name+"'"
    应改为
    String condition="SELECT * FROM stu_score WHERE 姓名 ='"+name+"'";
    "+"这个不用加