我有一个表20行10列,里面有5条纪录,怎样要获得纪录的条数呢?

解决方案 »

  1.   


    Connection conn  = getConnection();
    Statement st = conn.createStatement();
    String sqlString = "SELECT * FROM 我的表";
    ResultSet rs = st.executeQuery(sqlString);
    rs.last();
    int count = rs.getRow();count就是数据的条数,我是这么做的
      

  2.   

    补充一下,要想获得每条数据有多少列可以这样Connection conn  = getConnection();
    Statement st = conn.createStatement();
    String sqlString = "SELECT * FROM 我的表";
    ResultSet rs = st.executeQuery(sqlString);
    rs.last();
    int count = rs.getRow();
    ResultSetMetaData rsmd = rs.getMetaData();
    int columnCount = rsmd.getColumnCount();columnCount是列数
    不是很明白你的意思,不知道是不是你要的答案
      

  3.   

    ResultSet数据集中没有获取记录数量的方法,需要将游标移动到数据集的最后,然后获取现在的游标编号,再把游标移动回来。创建 Statement 对象时需设置游标敏感参数。
      

  4.   

    我觉得LZ的这个假设不太合理啊,怎么可能会有些行中没有数据呢?至少也得是个空字符串""啊
    LZ指的没数据是该行所有列均为空字符串吧?

    没想出来怎么解决呵呵,不过觉得是不是把帖子贴在数据库版会解决的快一些
      

  5.   

    ResultSet 就相当于一个文件流 FileInputStream 一样
    它给你的是一个读取数据的起始地址,并没有传递所有数据内容给你,你只有读下去,判断是否到底最后记录,读完后才知道记录数FileInputStream 也一样,你无法一下就知道这个文件有多少行要是你想直接知道记录数的话,就用流行的ORM,如 Hibernate,查询直接返回List, list.size() 就行了 
      

  6.   

    呵呵,看来我是没讲清楚啊,真是太不好意思了。我这个表不是数据库中的表而是JTable,大家看一下有什么办法来实现呢?
      

  7.   

    int count =0;
    int j =JTable.getRowCounts()
    for(int i ;i<j;i++){
     for(int k ;k<jtable.getColumnCounts();k++){
      if(!jtable.getValueAt(i,k).equals("")){
        count++;
       }
    }
      

  8.   

    你jtable里面的空行是你加入的空数据还是数据库中查出的?
      

  9.   

    你说的好象是Table吧。怎么好象他们把数据库都般出来了。如果是Table在api中有获取实际存在item的数量的东西。如果没有就需要自己实现,象1楼说的那样去遍利
      

  10.   

    我觉得你们都没有说到重点吧.
    我觉得应该是
    select count(*) from table;
      

  11.   

    1. table.getModel.getRowCount().
    2. the dataModel(你自己定义的)的size.
      

  12.   

    执行这条语句怎么样??select count(*) from 你的表看返回了多少条..