exception javax.servlet.ServletException: Column not found
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.bbs.querymodify_jsp._jspService(querymodify_jsp.java:144)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: Column not found
sun.jdbc.odbc.JdbcOdbcResultSet.findColumn(JdbcOdbcResultSet.java:1850)
sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:411)
org.apache.jsp.bbs.querymodify_jsp._jspService(querymodify_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)代码:
<%! String Is_Edit,Is_Delete,S_UserName,S_UserClass,Edit_Id,Delete_Id,sql,Board_Id,Note_Id,Note_Title,Note_Content,Note_Icon,Note_Sign; %>
<%
Is_Edit="0";
Is_Delete="0";if (session.getValue("UserName")==null)
{
  response.sendRedirect("err.jsp?id=5");
}else{   Connection con=yy.getConn();
   Statement  stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   ResultSet rs=null;
   Board_Id=request.getParameter("fid");
   Edit_Id=request.getParameter("editid");
   Delete_Id=request.getParameter("deleteid");
   Note_Id=request.getParameter("noteid");
   Note_Title=request.getParameter("title");
   Note_Title=yy.ex_chinese(Note_Title);
   Note_Content=request.getParameter("content");
   Note_Content=yy.ex_chinese(Note_Content);
   Note_Icon=request.getParameter("icon");
   Note_Sign=request.getParameter("signid");
   //Note_Sign=yy.ex_chinese(Note_Sign);
   if (session.getValue("UserClass").equals("系统管理员"))
   {
   Is_Edit="1";
   Is_Delete="1";
   }else if(session.getValue("UserClass").equals("斑竹"))
   {
    out.println("OK");
   sql="select 论坛id from 论坛栏目 where 版主姓名='"+session.getValue("UserName")+"'";
   rs=stmt.executeQuery(sql);
   rs.last();
   if (rs.getRow()>0)
   {
     if (Board_Id.equals(rs.getString("论坛栏目")))
     {
       Is_Edit="1";
       Is_Delete="1";
     }
   }
   }else
   {
   sql="select * from 贴子 where 贴子id="+Edit_Id+" and 贴子作者='"+session.getValue("UserName")+"'";
   rs=stmt.executeQuery(sql);
   rs.last();
   if (rs.getRow()>0)
     Is_Edit="1";
   sql="select * from 贴子 where 贴子id="+Delete_Id+" and 贴子作者='"+session.getValue("UserName")+"'";
   rs=stmt.executeQuery(sql);
   rs.last();
   if (rs.getRow()>0)
       Is_Delete="1";
   }
if ((Is_Edit.equals("1")&&(Delete_Id==null)))
{
   
   sql="update 贴子 set 贴子名称='"+Note_Title+"', 贴子内容='"+Note_Content+"', 显示签名="+Note_Sign+", 贴子图片='"+Note_Icon+"' where 贴子id="+Edit_Id;
   stmt.executeUpdate(sql);
   //out.println(sql);
   response.sendRedirect("shownote.jsp?fid="+Board_Id+"&noteid="+Note_Id);
}else if (Is_Delete.equals("0")&&(Edit_Id!=null))
 response.sendRedirect("err.jsp?id=6");if ((Is_Delete.equals("1")&&(Edit_Id==null)))
{
   sql="Delete From 贴子 Where 贴子id="+Delete_Id;
   //out.println(sql);
    stmt.executeUpdate(sql);
   out.println("<html> <meta http-equiv='refresh' content='1;url=board.jsp?fid="+Board_Id+"'> </html>");
 //response.sendRedirect("board.jsp?fid="+Board_Id);
}
else if(Is_Edit.equals("0")&&(Delete_Id!=null))
    response.sendRedirect("err.jsp?id=7");
}%>

解决方案 »

  1.   

    java.sql.SQLException: Column not found 
    应该是你的sql 语句没有写对
    sql="select 论坛id from 论坛栏目 where 版主姓名='"+session.getValue("UserName")+"'"; 
    把这句话带入具体的值用SQL 或oracle 检测一下,然后再看看里面是否存在问题
      

  2.   

    前面是
    sql="select 论坛id from 论坛栏目 where 版主姓名='"+session.getValue("UserName")+"'";  
    后面是
    rs.getString("论坛栏目")“论坛栏目”这列哪里来的?