请问用查询语句怎么修改mysql数据表的数据;
update topic set Title=_utf8'" + Title + "'COLLATE utf8_general_ci,Content=_utf8'" + Content+"'COLLATE utf8_general_ci where SortId=_utf8'" + Id + "'COLLATE utf8_general_ci"
这是我的jsp页面中用到的,但系统提示:
Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: org.apache.jsp.admin.error_jsp
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:133)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65)
at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:596)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:315)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:47)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
请求帮助!

解决方案 »

  1.   

    SQL update  最好用 PreparedStatement 预处理 
    这样看起来也比较舒服再者就是 Statement update sql :update table set filed = ' " + id + " '  
    这是你的代码 根本无从看起 , 看不出 写的是什么update topic set Title=_utf8'" + Title + "'COLLATE utf8_general_ci,Content=_utf8'" + Content+"'COLLATE utf8_general_ci where SortId=_utf8'" + Id + "'COLLATE utf8_general_ci" 
      

  2.   

    把代码都贴出来吧
    是不是跳转到 error_jsp  没有找到路径
      

  3.   


    先把sql语句打印出来,看是否有错。java.lang.ClassNotFoundException: org.apache.jsp.admin.error_jsp 
    找不到类。
      

  4.   

    谢谢啦,下面是我的jsp页面代码:
    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" pageEncoding="utf-8" %>
    <%request.setCharacterEncoding("utf-8");%> 
    <%response.setCharacterEncoding("utf-8");%> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><body>
    <jsp:useBean id="connManager" scope="application" class="bbs.ConnManager" />
    <%
    Connection con = connManager.getConnection("bbs");
    if(con==null)
    {
    %>对不起,现在数据库忙,请稍后再试<%
    }
    Statement stmt = con.createStatement();
    %>
    <%
        String Title=request.getParameter("Title");
        String Content=request.getParameter("Content");
        String Id=request.getParameter("Id");
      
       String sql = "update topic set Title=_utf8'" + Title + "'COLLATE utf8_general_ci,Content=_utf8'" + Content+"'COLLATE utf8_general_ci where SortId=_utf8'" + Id + "'COLLATE utf8_general_ci";
        int ok =stmt.executeUpdate(sql);
        if(ok > 0)
        {
         response.sendRedirect("ok.jsp?message=edit topic,successly!");
        }
        else
        {
         response.sendRedirect("error.jsp?message=edit topic,failure!");
        }    stmt.close();
        connManager.releaseConnection("mysql",con);
    %>
    </body>
    </html>
      

  5.   

    直接在JSP里写代码,确实可以减少代码量,和JSP页面的数量,在一定程度减轻的程序员的开发疲劳度!但是出错了,很难查找
       对于写这种数据的增删改查,用MVC模式写比较好,页面倒SERVLET,然后从SERVLET把值传回JSP,这样一旦出错,我们也可以在
       控制台上打印,比较容易找到错误源!