数据库连接管理的原则是:谁建立连接,谁关闭连接;在什么地方建立(method),就在什么地方关闭。你的代码中对数据库连接的管理是错误的!

解决方案 »

  1.   

    谢谢 steven_cheng(286)请你指教......不甚感激......
      

  2.   

    你给我mail地址,我可以给你发几个样例代码
      

  3.   

    "其作用为 : 当没有连接数据库时, 就连接数据库 ;如果连接了,就不连接数据库. "不明白这种作用的目的是什么?数据库连接就是连接,你想实现什么目的?另外你的方法写得确实不够规范比如,类加载驱动连接数据库,通常就应该放在构造函数中
    public static Database getDatabase()获取的自身类的实例,这合理吗?
      

  4.   

    "其作用为 : 当没有连接数据库时, 就连接数据库 ;如果连接了,就不连接数据库. "不明白这种作用的目的是什么?数据库连接就是连接,你想实现什么目的?
    ..................
    同意: 回复人: youthy_yy(缘非天定,缘随愿生) 是啊,你做的是测试的程序吧~~~
      

  5.   

    public static Connection con;
    public static Statement st;
    然后在jsp中判断con与st是否为null即可
      

  6.   

    看看通过 ODBC连接SQL的一段代码吧
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    //lnb是ODBC名
    String url="jdbc:odbc:lnb";
    String user="sa";
    String password="wjw";
    Connection con=DriverManager.getConnection(url,user,password);
    Statement stmt=con.createStatement();
          ResultSet rs,rs1;
          String sql;
      

  7.   

    給我也發個例子。[email protected]
      

  8.   

    谢谢楼上的各位朋友....."其作用为 : 当没有连接数据库时, 就连接数据库 ;如果连接了,就不连接数据库."这样做是为了避免重复连接数据库带来的消耗......如果与数据库已经建立连接....就不用再连接数据库了.....TO:  lbdl(dreamweaver) 
    我试过了......con 及 st 在mysql数据库服务断开前后无任何变化.......即,,,都有值存在..To: youthy_yy(缘非天定,缘随愿生)
    将数据库连接conn()放在构造函数中.....那么当建立实例时......无论数据库连接是否已经建立....都要进行一次连接.......就不会出现.....mysql数据库服务断开....就不能连接数据库的情况了......我当初就是那样做的....
    可我老大非要这样.....我也没有办法.......所以希望大家能帮帮我........小弟在此再次谢谢了.....
      

  9.   

    怎么不用連接池呢。我用的連接遲﹐不知是不是jsp每一頁都要關閉Connection    Statement  ResultSet﹖關閉了是不是把連接反還給連接遲了﹖
      

  10.   

    to: loginjava(清)
    我问的问题不是用程序关闭con , st , rs . 而是当意外出现.如网络问题或人为断开mysql数据库服务时,  再启动mysql服务......这时,我上面的代码就不能连接数据库了......因而我想找到一个标志...用来判断这时的状态是否与数据库进立了连接......
      

  11.   

    你说的情况没碰过,
    不过你可以试试
    Connection.isClose;
    注意妥善处理它的出现位置和程序的结构。
    调用顺序。
      

  12.   

    to: Leemaasn(呆鸟一号)的确如此......问题解决.........
      

  13.   

    你的想法是不错,可做了跟connection pool 一样的工作,不过我想你的实现应该不会好于商业的实现吧:)