zoukankan      html  css  js  c++  java
  • JDBC--获得ResultSet的记录个数、字段个数

    1.获得ResultSet的记录个数
    因为ResultSet没有方法可直接得到记录数,只有另想方法,可采用如下方法:

    Statement stmt = db.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,        ResultSet.CONCUR_READ_ONLY);
    ResultSet rs = stmt.executeQuery(sql);
    rs.last();//移到最后一行
    int count = rs.getRow();
    rs.beforeFirst();//移到初始位置

    注意:
    因为默认的 ResultSet 对象仅有一个向前移动的光标,必须将ResultSet指定为可滚动的。所以第一行代码是必须的,否则会报如下错误:
    ResultSet may only be accessed in a forward direction

    ResultSet类的createStatement(int resultSetType, int resultSetConcurrency);方法中,
    参数一为结果集类型,可取值为
    1)ResultSet.TYPE_FORWORD_ONLY,结果集只可向前滚动;
    2)ResultSet.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
    3)ResultSet.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。

    参数二为结果集可进行的操作,可取值为:
    1)ResultSet.CONCUR_READ_ONLY 只读
    2)ResultSet.CONCUR_UPDATABLE 可修改

    2.获得ResultSet的字段个数
    使用rs.getMetaData()方法,该方法的返回类型是ResultSetMetaData,在这个类中调用getColumnCount()方法,即可得到字段个数。
    代码如下:

    ResultSetMetaData   rsmd1 = rs.getMetaData();
    int   count = rsmd1.getColumnCount();

    也可以直接这样获取:

    rs.getMetaData().getColumnCount()
  • 相关阅读:
    canvas 平移&缩放
    html + css + jquery实现简单的进度条实例
    jQuery Layer mobile 弹出层
    jQuery-全屏滚动插件【fullPage.js】API 使用方法总结
    Hive:select count(distinct)优化以及hive.groupby.skewindata
    Spark Application、Driver、Job、stage、task
    Spark 参数说明
    Xgboost小结与调参
    梯度下降算法过程详细解读
    机器学习杂记
  • 原文地址:https://www.cnblogs.com/shiguangmanbu2016/p/5932854.html
Copyright © 2011-2022 走看看