DefaultTableModel defaultModel=new DefaultTableModel();           
jtblSearch=new JTable(defaultModel);
  //defaultModel.removeRow(rowcount);//移除行
ResultSet rest=stm.executeQuery(SQL); 
while(rest.next()) //将查询出的记录显示在表格中
{
                
defaultModel.addRow(rest.getString(i));         
}

解决方案 »

  1.   

    我给你实现代码!import javax.swing.table.DefaultTableModel;
    import java.sql.*;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2004</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */public abstract class ResultSetTableModel extends DefaultTableModel {
      /**
          Constructs the table model.
          @param aResultSet the result set to display.
       */
       public ResultSetTableModel(ResultSet aResultSet)
       {
          rs = aResultSet;
          try
          {
             rsmd = rs.getMetaData();
          }
          catch(SQLException e)
          {
             e.printStackTrace();
          }
       }   public String getColumnName(int c)
       {
          try
          {
             return rsmd.getColumnName(c + 1);
          }
          catch(SQLException e)
          {
             e.printStackTrace();
             return "";
          }
       }   public int getColumnCount()
       {
          try
          {
             return rsmd.getColumnCount();
          }
          catch(SQLException e)
          {
             e.printStackTrace();
             return 0;
          }
       }   /**
          Gets the result set that this model exposes.
          @return the result set
       */
       protected ResultSet getResultSet()
       {
          return rs;
       }   protected void setRS(ResultSet rs)
       {
         this.rs=rs;
       }   private ResultSet rs;
       private ResultSetMetaData rsmd;}import javax.swing.table.*;
    import javax.swing.event.TableModelListener;
    import javax.swing.event.TableModelEvent;
    import java.sql.*;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2004</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */public class ScrollingResultSetTableModel extends ResultSetTableModel {
      /**
           Constructs the table model.
           @param aResultSet the result set to display.
        */
       int pageRows=10;
       int page=1;
       int rows=0;
        public ScrollingResultSetTableModel(ResultSet aResultSet)
        {
           super(aResultSet);
           rows=this.getAllRows();
        }    public Object getValueAt(int r, int c)
        {
           try
           {
              ResultSet rs = getResultSet();
              rs.absolute((page-1)*pageRows + r + 1);
              return rs.getObject(c + 1);
           }
           catch(SQLException e)
           {
              return "";
           }
        }    public int getRowCount()
        {
           return pageRows;
        }        public void setNextPage()
            {
                    this.page++;        }        public void setPrevPage()
            {
                    this.page--;
                    if(page<0) page=0;
            }    public void setPageRows(int pageRows)
        {
          this.pageRows=pageRows;
        }    public boolean isLast()
        {
                return (page*pageRows>rows||page*pageRows==rows);    }    public boolean isFirst()
        {
                return page==1;
            }    public int getAllRows()
        {
                try
                  {
                             ResultSet rs = getResultSet();
                             rs.last();
                             rows=rs.getRow();
                             rs.beforeFirst();
                             return rows;
                  }
                  catch(SQLException e)
                  {
                     e.printStackTrace();
                     return 0;
                 }
        }    public int getRows()
        {
          return rows;
        }    public void setResultSet(ResultSet rs)
        {
          super.setRS(rs);
          page=1;
        }}者是构造方法!
      

  2.   

    import javax.swing.JTable;
    import java.sql.*;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2004</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */public class JdbTable extends JTable {
      ScrollingResultSetTableModel model;
      public JdbTable(ResultSet rs)
      {
        model=new ScrollingResultSetTableModel(rs);    this.setModel(model);
      }
      public JdbTable(ResultSet rs,int count)
      {
        model=new ScrollingResultSetTableModel(rs);
        model.setPageRows(count);
        this.setModel(model);
      }
      public ScrollingResultSetTableModel getModelImp()
      {
              return model;
      }
    }实现方法:
    JScrollPane sp=new JScrollPane(new JdbTable(ResultSet rs,每次显示多少条记录))
    用ScrollingResultSetTableModel.setNextPage(),ScrollingResultSetTableModel.setPrevPage(),来定位还可以改变ResultSet
      

  3.   

    To: 老蒋
        小妹已经将数据添加到table中去了,只是我的JDBC不支持来回滚动(JDBC1.0版本),只能实现(resultSet rs ) rs.next(),不能实现rs.previous().
        小妹想用Vector将rs中所有的纪录先保存到Vector中,然后对Vector进行操作,遇到以下问题:(rs中有10条记录,每条纪录有4个字段:商品代码  商品名   商品类型  进货价格)
         我只能实现将每条记录的每个子段添加到Vector,此时的Vector相当于一个一维数组,这个数组有元素,即(data[40]).
         怎样将一条记录添加到Vector中去,使Vector相当于一个二维数组,这个数组10行4列,即(data[10][4]).
         注:我不想用数组代替Vector来实现上面的问题,因为rs中的字段类型不全一样,而数组的类型唯一,太麻烦。     小妹刚刚开始做java,求老蒋大哥帮忙,不胜感激!
      

  4.   

    public Connection getConn() throws SQLException
    {
    Connection c=null;
    try
    {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    c=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databasename=hotel",
    "sa","123456");
    return c;
    }

    public Statement getStat() throws SQLException
    {
    Statement stat=null;
    stat=getConn().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                   ResultSet.CONCUR_READ_ONLY);
    return stat;
    }

    public ResultSet getResultSet() throws SQLException
    {
    if(sql.equals(""))
    return null;
    rs=getStat().executeQuery(sql);
    return rs;
    }
      

  5.   

    用一个主ArrayList来加其他的ArrayList后面的ArrayList对应数据库中的的元组(就是一行的所有列)然后可以取出来啊!
      

  6.   

    谢谢 老蒋
    昨天去逛了一下午书店,买了基本J2SE,基本的问题都解决了
    嘿嘿,刚刚涉步JAVA,真难啊!我以前用过VB VC Delphi
    这是第一次用JAVA谢谢啦!