日期:2014-05-20  浏览次数:20885 次

解决立即结贴 java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
在窗体的关闭事件里:
class   this_InternalFrame_Adaptee   extends   nternalFrameAdapter{
    myInternalFrame   adaptee;   //要关闭的窗体
    this_InternalFrame_Adaptee(myInternalFrame   adaptee){
        this.adaptee   =   adaptee;
    }
    public   void   internalFrameClosing(InternalFrameEvent   e)   {
        try   {
            if   (rs   !=   null)   {
                rs.close();
            }
            if   (stat   !=   null)   {
                stat.close();
            }
            if   (conn   !=   null)   {
                conn.close();
                adaptee.dispose();
            }
        }
        catch   (SQLException   ex)   {
            ex.printStackTrace();
        }
    }   //异常在此抛出   java.sql.SQLException:   [Microsoft][SQLServer
                                  2000   Driver   for   JDBC]Object   has   been   closed.
}

我的SQL   Server   2000已经打上SP4。


------解决方案--------------------
我碰到过
原因是一个stat你一定是多次使用了把
------解决方案--------------------
adaptee.dispose()方法里有些什么?从错误的意思上来看,可能有个close的操作重复执行了,猜想在dispose()方法里可能有个操作冲突了。
------解决方案--------------------
你是不是驱动包没放?
------解决方案--------------------
Object has been closed.
你两次关闭了CONNECTION了吧~~
------解决方案--------------------
应该是你关闭了Connection后,又执行了查询语句!
------解决方案--------------------
adaptee.dispose();去掉。
------解决方案--------------------
你用什么数据库?MSSQL?那你的SQL语句有问题呀
------解决方案--------------------
select cj_plant.id,cj_plant.plant,db_framework.framework from cj_plant as cinner join db_framework as d on c.framework_id = d.id
------解决方案--------------------
二次关闭。。。。或者没有打开连接就关闭。。。。。。