这样改试试。public void valueChanged(ListSelectionEvent evt)
  {
    String selList=(String)lstylrfwzl.getSelectedValue();
    int selList_jiequ_i=selList.indexOf("街区");
    int selList_donghao_i=selList.indexOf("栋");
    int selList_fanghao_i=selList.indexOf("号");
    String  selList_jiequ=selList.substring(0,selList_jiequ_i + 2);
    String  selList_donghao=selList.substring(selList_jiequ_i + 2,selList_donghao_i);
    String  selList_fanghao=selList.substring(selList_donghao_i + 1,selList_fanghao_i);
    String sql11="select * from weiming.酒钢商业用房基本资料库 where 街区=\'" + selList_jiequ + "\' and 栋号=\'" + selList_donghao + "\' and 房号=\'" + selList_fanghao + "\'";
    try
    {
        ResultSet rs_detail=db_jiequ.rs_jiequ(sql11);
        if (rs_detail.next())
        {
            re_detail.close();//////////////////应该先把结果集关上。            Object get_xiaoqu=(Object)rs_detail.getString("小区");
            Object get_jiequ=(Object)rs_detail.getString("街区");
            Object get_donghao=(Object)rs_detail.getString("栋号");
            Object get_fwzk=(Object)rs_detail.getString("房屋状况");
            Object get_syzt=(Object)rs_detail.getString("使用状态");
            comxiaoqu.setSelectedItem(get_xiaoqu);
            comjiequ.setSelectedItem(get_jiequ);
            comdonghao.setSelectedItem(get_donghao);
            comfwzk.setSelectedItem(get_fwzk);
            comsyzt.setSelectedItem(get_syzt);
            txtfanghao.setText(String.valueOf(rs_detail.getInt("房号")));
            txtjzmj.setText(String.valueOf(rs_detail.getInt("建筑面积")));
            txtzjbz.setText(String.valueOf(rs_detail.getInt("租金标准")));
            txtsymj.setText(String.valueOf(rs_detail.getInt("使用面积")));
        }
    }
      catch(Exception ex)
      {
        System.out.println(ex.getMessage());
        System.out.println(sql11);
      }
  }

解决方案 »

  1.   

    是不是不断触发事件,而没有关掉记录集rs_detail和数据库连接,可加
    再加一个finally模块试一试,
    即:finally{
           try{
              //把记录集关闭
              if(rs_detail!=null){rs_detail.close();rs_detail=null}
              //关闭数据库连接
              if(db_jiequ!=null){db_jiequ.close();db_jiequ=null}
           }catch(Exception e ){;}   }
      

  2.   

    to flytsu(卡休):re_detail.close();随后又要取rs_detail中的记录,那不是操蛋吗?
    to binpp(彬彬):我试过了。结果依然是一样的,不过错误提示变成
    [Oracle][ODBC]Invalid column number <10>.select * from weiming.酒钢商业用房基本资料库 where 街区='昌明街区' and 栋号='1' and 房号='1'nullselect * from weiming.酒钢商业用房基本资料库 where 街区='昌明街区' and 栋号='1' and 房号='1'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='5'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='5'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='7'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='7'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='大众街区' and 栋号='1' and 房号='1'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='大众街区' and 栋号='1' and 房号='1'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='福民街区' and 栋号='3' and 房号='3'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='福民街区' and 栋号='3' and 房号='3'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='雍平街区' and 栋号='6' and 房号='8'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='雍平街区' and 栋号='6' and 房号='8'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='7'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='7'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='5'java.lang.NullPointerExceptionnullselect * from weiming.酒钢商业用房基本资料库 where 街区='车站街区' and 栋号='2' and 房号='5'java.lang.NullPointerException