是不是和你的数据库支持有关?mysql吗?

解决方案 »

  1.   

    代码太复杂没法贴上来啊。还有我在一个方法前加了synchronized关键字,可是在调试的时候两个进程还是都进来了,这又是为什么呢?
      

  2.   


    如果仅仅是读取数据库的话应该可以独自读出来吧。看你的2个进程中是否公用了一个Statement?
      

  3.   

    是的,用了同一个Statement,有什么问题啊?
      

  4.   


    各用不同的Statement试试啊:)
      

  5.   

    果然如此啊!!
    但是现在有个问题,我的所有线程都只有一个数据库操作实例,是不是我每次做SQL的时候都要创建一个新的Statement,而且我没有办法显式的关闭,只有等到析构的时候让系统自动关闭,这样的话会不会对系统资源占有很厉害?大家有谁碰到过这种情况?有什么好的办法呀?
      

  6.   

    为什么没有办法显示地关闭本该在这里关闭地Statement对象呢,说明你的设计不是太合理呀!在哪里获得,就得在哪里关闭
      

  7.   

    是这样,有一个类用来处理数据库操作,doSelect方法返回一个ResultSet,这个时候不能关闭Statement,否则ResultSet也就关闭了,所以不能显示地关闭啊。
      

  8.   

    up,怎么没人帮我了?要不我返回一个HashMap的ArrayList?把所有的记录信息都封装进去。还有没有更好的方法?
      

  9.   

    在rs关闭前 rs.getStatement(),取得statement,关闭rs、stamtement