• 【java】获得数据集中的总行数和总列数


    需要动态获取某表,根据rs.getString(列数)。所以下面很有用。



    ·                                 在Java中,获得ResultSet的总行数的方法有以下几种。

    第一种:利用ResultSet的getRow方法来获得ResultSet的总行数

    Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
    rset.last(); 
    int rowCount = rset.getRow(); //获得ResultSet的总行数

    第二种:利用循环ResultSet的元素来获得ResultSet的总行数

    ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
    int rowCount = 0; 
    while(rset.next()) { 
       rowCount++; 
    }

    rowCount就是ResultSet的总行数。

    第三种:利用sql语句中的count函数获得ResultSet的总行数

    ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName"); 
    int rowCount = 0; 
    if(rset.next()) { 
       rowCount=rset .getInt("totalCount "); 
    }

    rowCount就是ResultSet的总行数。

    · **************************************************************************************

    ·   Java中获得ResultSet的总列数是非常简单事情,因为Java中ResultSet提供了ResultSetMetaData工具类,ResultSetMetaData 是ResultSet的元数据的集合说明。


    java获得ResultSet总列数的代码如下:

    Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    ResultSet rset = stmt.executeQuery("select * from yourtable"); 
    ResultSetMetaData rsmd = rset.getMetaData() ; 
    int columnCount = rsmd.getColumnCount();

    columnCount 就是ResultSet的总列数。


    · **************************************************************************************

    转自 http://cheneyph.iteye.com/blog/477829



    比如我自己写的


    public List<List> findAllString() {


    List<List> filds = new ArrayList<List>();

    List<String> fild = null;

    Connection conn = null;

    PreparedStatement ps = null;

    ResultSet rs = null;

    try {

    conn = ConnectionSource.getConnection();

    String sql = "String sqll = "select * from ( select *  from pac_material_bill_print_v where 1=1  and bill_no='0003100602-0001'  and warehouse_code='665'  and dept_code='0003'  and send_code='665'  ) where rownum < 10000";

    ps = conn.prepareStatement(sql);

    rs = ps.executeQuery();

    ResultSetMetaData rsmd = ps.getMetaData() ; 

    int columnCount = rsmd.getColumnCount(); //总列数

    while (rs.next()) {

    System.out.println("****************************");

    fild = new ArrayList<String>();

    for (int i = 1; i<= columnCount; i++) {

    System.out.println(rs.getString(i));//循环获取所有列的值

    fild.add(rs.getString(i));//添加到我需要的list里面。

    }

    filds.add(fild);

    System.out.println("****************************");

    }

    } catch (SQLException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    } finally {

    try {

    rs.close();

    ps.close();

    conn.close();

    } catch (SQLException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    return filds;//返回一个list到前台

    }

  • 相关阅读:
    apache 错误日志
    搭建服务器
    vim配置
    临时表增加查询速度
    如何清空$_POST or $_GET
    hdu 2084
    快速幂
    zjut 1176
    rwkj 1091
    zjut 1090 --------同余定理的应用
  • 原文地址:https://www.cnblogs.com/ae6623/p/4416676.html
Copyright © 2020-2023  润新知