package fixedassets;import java.sql.*;
import javax.swing.tree.DefaultMutableTreeNode;
public class JDBC {
    Statement st=null;
    ResultSet rs2=null;
    ResultSet rs=null;
    public JDBC() {
        try {
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=AssetsManage","sa","sa");
            st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    public ResultSet yan(String s,String s1) {//验证用户名和密码
        ResultSet rsa=null;
        try {
            rsa = st.executeQuery("select *from operater where ID='"+s+"'and PassWord='"+s1+"'");
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return rsa;
    }
    public int chaxun(String s,int i) {//查询数据
        try {
            if(i==0) {//以资产编号查询
                clear();
                rs = st.executeQuery("select *from asset where aId="+s);
            }else if(i==1) {//以资产名称查询
                clear();
                rs = st.executeQuery("select *from asset where aName='"+s+"'");
            }
            if(rs.next()) {
                zhi();
            }        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return 0;
    }/*错误就在zhi()这个方法里,上面的chaxun()方法调用本方法来把查询出来的信息显示在文本框内,第一次调用时信息都可以提出来没问题,但是我想做一个导航条,可以通过按钮点击来查看数据,所以我在另外一个类里做了一个按钮事件,当点击时就zhi()这个方法,就在这里就报异常了,异常如下:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.validateClosedState(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.getString(Unknown Source)
at fixedassets.JDBC.zhi(JDBC.java:68)
at fixedassets.Frame3.jButton4_actionPerformed(Frame3.java:405)
at fixedassets.Frame3_jButton4_actionAdapter.actionPerformed(Frame3.java:431)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)我在网上查了一下,好像是说连接池被已关闭,但是我所有的连接一个也没关啊,不知道是怎么回事,急~!请各位高手帮忙看一下*/    public void zhi() {
        try {
            String s3 = rs.getString(1);
            String s10 = rs.getString(2);
            String s11 = rs.getString(3);
            String s5 = rs.getString(4);
            String s6 = rs.getString(8);
            String s7 = rs.getString(9);
            String s8 = rs.getString(7);
            String s12 = rs.getString(5);
            String s13 = rs.getString(6);
            String s14 = rs.getString(10);
            Frame3.jTextField3.setText(s3);
            Frame3.jTextField5.setText(s5);
            Frame3.jTextField6.setText(s6);
            Frame3.jTextField10.setText(s10);
            Frame3.jTextField11.setText(s11);
            Frame3.jTextField12.setText(s12);
            if (s13.equals("0")) {
                Frame3.jTextField13.setText("正常");
            } else if (s13.equals("1")) {
                Frame3.jTextField13.setText("维修");
            } else if (s13.equals("2")) {
                Frame3.jTextField13.setText("报废");
            }
            Frame3.jTextField14.setText(s14);            if (Frame3.i == 1) { //通过游标判断是否可以上下翻页
                if (rs.next()) {
                    Frame3.jButton4.setEnabled(true);
                } else {
                    Frame3.jButton4.setEnabled(false);
                }
            } else {
                if (rs.previous()) {
                    Frame3.jButton3.setEnabled(true);
                } else {
                    Frame3.jButton3.setEnabled(false);
                }
            }            ResultSet rls = st.executeQuery(
                    "select eName from employee where eId=" +
                    s7);
            rls.next();
            Frame3.jTextField7.setText(rls.getString(1));
            ResultSet rs1 = st.executeQuery(
                    "select type from cateGory where cateId='" + s11 + "'");
            rs1.next();
            String s4 = rs1.getString(1);
            if (s4.equals("0")) {
                Frame3.jTextField4.setText("");
            } else {
                Frame3.jTextField4.setText(s4);
            }            if (!(s8 == null)) {
                ResultSet rls1 = st.executeQuery(
                        "select eName from employee where eId=" + s8);
                rls1.next();
                Frame3.jTextField8.setText(rls1.getString(1));
                rs2 = st.executeQuery("select *from lend where aId=" +
                                                s3);
                rs2.last();
                String s9 = rs2.getString(4);
                String s15 = rs2.getString(3);
                String s16 = rs2.getString(5);
                Frame3.jTextField9.setText(s9);
                Frame3.jTextField15.setText(s15);
                if (s16.equals("0")) {
                    Frame3.jTextField16.setText("否");
                } else if (s16.equals("1")) {
                    Frame3.jTextField16.setText("是");
                }
            }        } catch (Exception a) {
            System.out.println("asdfwdfasdf");
            a.printStackTrace();
        }
    }
    public void clear() {//清空
        Frame3.jTextField3.setText("");
        Frame3.jTextField4.setText("");
        Frame3.jTextField5.setText("");
        Frame3.jTextField6.setText("");
        Frame3.jTextField7.setText("");
        Frame3.jTextField8.setText("");
        Frame3.jTextField9.setText("");
        Frame3.jTextField10.setText("");
        Frame3.jTextField11.setText("");
        Frame3.jTextField12.setText("");
        Frame3.jTextField13.setText("");
        Frame3.jTextField14.setText("");
        Frame3.jTextField15.setText("");
        Frame3.jTextField16.setText("");
    }}