以下是我getscore.jsp页面中的代码:
SimpleDateFormat sdf = new SimpleDateFormat();   Date d = sdf.parse("5/15/2006"); // 下面将学生考试结果保存到test_result表中
   sql ="insert into test_result (studentid,score,starttime,classid,mianshij) values ('"
   +(String)(session.getAttribute("studentid"))+"','" + score+"','"+d+"','"+(String)(session.getAttribute("classid")) +"','"+score+"')";
   conn.executeUpdate( sql );
我的是JSP,SQLSERVER2000开发一个在线考试系统. test_result表中字段是testid(自动编号),studentid(int),score(int),starttime(datetime),classid(varchar),mianshij(int)
运行页面提示HTTP Status 500错误.
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.test.getscore_jsp._jspService(org.apache.jsp.test.getscore_jsp:198)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引
sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
sun.jdbc.odbc.JdbcOdbc.SQLGetDataInteger(Unknown Source)
sun.jdbc.odbc.JdbcOdbcResultSet.getDataInteger(Unknown Source)
sun.jdbc.odbc.JdbcOdbcResultSet.getInt(Unknown Source)
sun.jdbc.odbc.JdbcOdbcResultSet.getInt(Unknown Source)
org.apache.jsp.test.getscore_jsp._jspService(org.apache.jsp.test.getscore_jsp:102)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.

解决方案 »

  1.   

    javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引
    ------
    很清楚了吧, 不过建议不要用ODBC。
      

  2.   

    尽瞎说,报了javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver]无效的描述符索引错误了的嘛,说明已经连上了,肯定是sql语句有问题
      

  3.   

    你那个   sql ="insert into test_result (studentid,score,starttime,classid,mianshij) values ('"
       +(String)(session.getAttribute("studentid"))+"','" + score+"','"+d+"','"+(String)(session.getAttribute("classid")) +"','"+score+"')";
    中有很多单引号是不必要的,你有好几个数据是整型的,这几个数据不能加引号,如果按你的输入的话是insert into test_result (studentid,score,starttime,classid,mianshij) values ('12356','32','132','2315','1231')
    实际应该是insert into test_result (studentid,score,starttime,classid,mianshij) values (12356,32,'132','2315',1231'
      

  4.   

    你把这两的值"+(String)(session.getAttribute("classid")) +"','"
       +(String)(session.getAttribute("studentid"))+"'   放在一个变量里再放进数据库里,试试。String classid=(String)(session.getAttribute("classid"))
    String studentid=(String)(session.getAttribute("studentid"))
      

  5.   

    SQL 语句的问题,楼主仔细检查下
      

  6.   

    harston(顽石)你好
    我按你说的试了一下,还是不行.还是提示和原来同样的错误.
    不知道是怎么回事?