ResultSet pagers;
String pagesql;
String namw=(String)session.getValue("username");smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
pagesql = "SELECT * FROM teacher_info WHERE ADUSER LIKE '%"+namw+"%' "; //取总文章数 
 
pagers = smt.executeQuery(pagesql);
 if(!pagers.next()){response.sendRedirect("../adteacher.jsp");}
else{
response.sendRedirect("../editeacher.jsp");}
%>javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列名 '杜' 无效。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.editeacher_jsp._jspService(editeacher_jsp.java:282)
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)为什么呢我想根据session中的数据条件查询,int的能正常 但是字符型的就出现现在的错误,我晕了在线等

解决方案 »

  1.   

    有了新的现线索了
    String adduser=(String)session.getValue("username");
    out.print(adduser);
    smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    pagesql = "SELECT COUNT(*) FROM teacher_info WHERE ADUSER LIKE '%"+adduser+"%' "; //取总文章数 
    statement = con.createStatement(); 
    pagers = statement.executeQuery(pagesql); 
    while(pagers.next()) 

    allCol = pagers.getInt(1); 
    System.out.println(allCol); 
    out.print(allCol);
    out.print(adduser.getBytes("GB2312"));
    /*if(syt==allCol){response.sendRedirect("../adteacher.jsp");}
    else{
    response.sendRedirect("../editeacher.jsp");}*/} 
    屏蔽了一段代码,是可以的输出是正确的,但是不屏蔽代码就有错误
      

  2.   

    真搞不明白了,为什么呢,大家来帮忙看看阿,这段代码与sql语句有什么关系呢?有关系吗
      

  3.   

    1、任何时候,人都应该谦虚;
    2、初学语言,代码规范很重要。你的代码质量问题就不说了。
    3、仅就你出的问题而言,错误不在你贴的代码,而在editeacher.jsp中。在editeacher.jsp中你写的一个sql语句中,数据库字段有问题,打出sql你就可以看出来了。
      

  4.   

    谢谢批评,我太着急了
     <%
        smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        String adduser=(String)session.getValue("username");
    sql="SELECT * FROM teacher_info WHERE ADUSER="+adduser+"";
    rs = smt.executeQuery(sql);
    rs.next();
    {
      
         %>
      

  5.   

    javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]列名 '杜' 无效。
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    org.apache.jsp.editeacher_jsp._jspService(editeacher_jsp.java:282)----------------------------------------------------------------------
    以上异常提示,是指错误出在editeacher.jsp中,是你的其中一个sql有问题。
    不在你现在提供的代码中。
      

  6.   

    非常感谢你,我都作了很长时间程序了,大脑已经很混沌,ADUSER="+adduser+"";改了like就好了,谢谢你!!我会记住你的话的
      

  7.   

    你的sql语法没有错,你并没有找到问题!!!
      

  8.   

    生成的sql输出到界面看看是什么,这样定位错误地点========
    欢迎使用www.bz2008.com 可以辅助生成大部分的程序代码,注册即可使用
    支持所有开发语言和平台