可能是你做了连接之后没有释放,你需要:con.close(),

解决方案 »

  1.   

    估计你是在一个循环中实例化一个connnection的,这样的话你最后只关掉了一个而已。
      

  2.   

    解决方法是把connnection放在循环外
      

  3.   

    connnection没放在循环内,且全部都关闭了,还是经常出现这个错误!
      

  4.   

    ikevin(菜无心) 整个网站的程序太多了,我也不知道是哪个文件出错了,没法贴出来。
      

  5.   

    WEB-INF\classes\china\db 下的数据库连接程序(faq)如下// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2004-8-24 11:33:04
    // Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
    // Decompiler options: packimports(3) 
    // Source File Name:   faq.javapackage china.db;import java.io.PrintStream;
    import java.sql.*;public class faq
    {    public faq()
        {
            sDBDriver = "org.gjt.mm.mysql.Driver";
            sConnStr = "jdbc:mysql://localhost/xiaofei?user=root&password=&useUnicode=true&characterEncoding=GB2312";
            conn = null;
            rs = null;
            try
            {
                Class.forName(sDBDriver);
            }
            catch(ClassNotFoundException classnotfoundexception)
            {
                System.err.println("faq(): " + classnotfoundexception.getMessage());
            }
        }    public void executeInsert(String s)
        {
            try
            {
                conn = DriverManager.getConnection(sConnStr);
                Statement statement = conn.createStatement();
                int i = statement.executeUpdate(s);
            }
            catch(SQLException sqlexception)
            {
                System.err.println("faq.executeUpdate:" + sqlexception.getMessage());
            }
        }    public ResultSet executeQuery(String s)
        {
            rs = null;
            try
            {
                conn = DriverManager.getConnection(sConnStr);
                Statement statement = conn.createStatement(1004, 1008);
                rs = statement.executeQuery(s);
            }
            catch(SQLException sqlexception)
            {
                System.err.println("aq.executeQuery: " + sqlexception.getMessage());
            }
            return rs;
        }    public void executeDelete(String s)
        {
            try
            {
                conn = DriverManager.getConnection(sConnStr);
                Statement statement = conn.createStatement();
                statement.executeUpdate(s);
            }
            catch(SQLException sqlexception)
            {
                System.err.println("faq.executeDelete: " + sqlexception.getMessage());
            }
        }    public int executeUpdate(String s)
        {
            int i = 0;
            try
            {
                conn = DriverManager.getConnection(sConnStr);
                Statement statement = conn.createStatement();
                i = statement.executeUpdate(s);
            }
            catch(SQLException sqlexception)
            {
                System.err.println("faq.executeDelete: " + sqlexception.getMessage());
            }
            return i;
        }    public void Close()
        {
            try
            {
                if(rs != null)
                    rs.close();
                if(conn != null)
                    conn.close();
            }
            catch(SQLException sqlexception)
            {
                System.err.println("faq.executeDelete: " + sqlexception.getMessage());
            }
        }    String sDBDriver;
        String sConnStr;
        Connection conn;
        ResultSet rs;
    }
    其中一个修改会员基本信息的叶面为:
    <%@ page contentType="text/html" import="java.sql.*" %>
    <jsp:useBean id="mdb" class="china.db.faq" scope="page"/>
    <jsp:useBean id="Convert" class="china.db.Convert" scope="page"/>
    <%@ include file="date.jsp"%>
    <%
      java.lang.String strUserid;  
      java.lang.String strUserunit;
      java.lang.String strOwner;
      java.lang.String strZCmoney;
      java.lang.String strAddress;
      java.lang.String strProAbout;
      java.lang.String sbhj;
      java.lang.String square;
      java.lang.String service;
      java.lang.String kouhao;
      java.lang.String strUrl;
      java.lang.String strLinkman;
      java.lang.String strTel;
      java.lang.String strFax;
      java.lang.String strZip;
      java.lang.String strEmail; 
      java.lang.String menu1; 
      int menu=0;
      String strValue1,strValue2,industry1,industry2;
      strUserid=request.getParameter("userid");  
    try{
      strUserunit=request.getParameter("userunit");
      strUserunit=Convert.convert(strUserunit);
      strOwner=request.getParameter("owner");
      strOwner=Convert.convert(strOwner);  
      strZCmoney=request.getParameter("ZCmoney");
      strAddress=request.getParameter("address");
      strAddress=Convert.convert(strAddress);  
      strProAbout=request.getParameter("ProAbout");
      strProAbout=Convert.convert(strProAbout);
      sbhj=request.getParameter("sbhj");
      sbhj=Convert.convert(sbhj);
      square=request.getParameter("square");
      square=Convert.convert(square);
      service=request.getParameter("service");
      service=Convert.convert(service);
      kouhao=request.getParameter("kouhao");
      kouhao=Convert.convert(kouhao);
      strUrl=request.getParameter("url");
      strLinkman=request.getParameter("linkman");
      strLinkman=Convert.convert(strLinkman);
      strTel=request.getParameter("tel");
      strFax=request.getParameter("fax");
      strZip=request.getParameter("zip");
      strEmail=request.getParameter("email"); 
      menu1=request.getParameter("menu1"); 
      strValue1=request.getParameter("sel_khlb");
      strValue2=request.getParameter("sel_khxl");
      industry1=request.getParameter("sel_khlb2");
      industry2=request.getParameter("sel_khxl2");
      if(menu1.equals("a.jsp"))
      menu=1;
      else if(menu1.equals("b.jsp"))
      menu=2;
      else if(menu1.equals("c.jsp"))
          menu=3;
      out.println(menu);
     // out.println(strValue2);
    %>
      <html>
       <body>
         <table>
       <form>
    <%
      String sql2="update cominfo set  UserUnit='"+strUserunit+"',owner='"+strOwner+"',ZCmoney='"+strZCmoney+"',Address='"+strAddress+"',ProAbout='"+strProAbout+"',sbhj='"+sbhj+"',square='"+square+"',service='"+service+"',kouhao='"+kouhao+"',URL='"+strUrl+"',linkman='"+strLinkman+"',Tel='"+strTel+"',Fax='"+strFax+"',Zip='"+strZip+"',Email='"+strEmail+"',IsValid=1,RegisterDate='"+date+"',Area1='"+strValue1+"',Area2='"+strValue2+"',muban="+menu+"  where userid='"+strUserid+"'";
     //out.println(sql2);
     //if(1==1) return;
     int i= mdb.executeUpdate(sql2); 
      
     if(i==1){
      out.println("<tr><td>修改成功!</td></tr>");
      }else{
      out.println("<tr><td>操作失败!</td></tr>");
      }
    }catch (Exception e){} %>
            <input type="button" name="submit" value=" 返回 " onclick="history.go(-1)">
          </form>
     </table>
    </body>
      </html>
    <%mdb.Close();%>
      

  6.   

    这种搞法?很初级喔。换连接池吧。你要这样写的话,干脆用asp算了。
      

  7.   

    dyh8818(邓应华)你能详细说一下连接池吗?