为什么点击jbutton 做查询功能 jtable会有两遍数据,而且第二遍都是空值,而且每点击一次都会增加两遍数据, 这是为什么呢??????贴了部分代码,不知道有没有人知道为什么?这个是jbutton的相应事件
 private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked
       tableModel=new DefaultTableModel(entity.searchCustomer(getName() ), getTitles());
       //System.out.println(entity.searchCustomer(getSearchCustomerName() ));
        
        jTable1 = new javax.swing.JTable(tableModel);
        jScrollPane1.setViewportView(jTable1);    }//GEN-LAST:event_jButton1MouseClicked    public Vector getTitles() {
        titles.add("id");
        titles.add("name");
        titles.add("age");
        return titles;
    }    public String getName() {
        return new String(jTextField1.getText());
    }      这个是调用查找的方法
  public Vector searchCustomerInfo = new Vector();
    public Vector searchCustomer(String name) {
        String sql = "select * from users_xiey where name like'%" + name + "%'";
        //  System.out.println(sql);
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        //  Vector rowData = new Vector();
        try {
            conn = ConnectionUtils.getConnection();
            stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);            while (rs.next()) {
                 Vector vcRows = new Vector();
                vcRows.add(rs.getString("id"));
                vcRows.add(rs.getString("name"));
                vcRows.add(rs.getString("age"));
                searchCustomerInfo.add(vcRows);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            ConnectionUtils.close(rs);
            ConnectionUtils.close(stmt);
            ConnectionUtils.close(conn);
        }
        return searchCustomerInfo;    }
下面截个图:再点击ok按钮后,数据查找显示出来了,但是列名id name age出了两遍,而且第二遍是空的,这是为什么啊

解决方案 »

  1.   

    Java 的 UI真像 Windows 95那个时代的东西啊。
      

  2.   

    嗯,没办法啊,老师要求要用swing写
      

  3.   

    列名出现了两次,数据没出来,这样的话应该是你布局的时候出现错误了,跟sql语句没关系。你看下你的窗口布局。
      

  4.   

    我认为你出现这种情况,应该是new 对象的地方不对,你看看含有new的地方
      

  5.   

     Vector vcRows = new Vector();
    放到while()前试试