zoukankan      html  css  js  c++  java
  • JDBC入门(2)--- ResultSet之滚动结果集

    一、ResultSet之滚动结果集 

     ResultSet表示结果集,它是一个二维的表格。ResultSet内部维护一个行光标(游标),ResultSet提供了一系列的方法来移动游标:

    • void beforeFirst():把光标放到第一行的前面,这也是光标默认的位置;
    • void afterLast():把光标放到最后一行的后面;
    • boolean first(): 把光标放到第一行的位置上,返回值表示调控光标是否成功;
    • boolean last():把光标放到最后一行的位置上;
    • boolean isBeforeFirst():当前光标位置是否在第一行前面
    • boolean isAfterLast():当前光标位置是否在最后一行后面
    • boolean isFirst():当前光标位置是否在第一行上
    • boolean isLast():当前光标位置是否在最后一行上
    • boolean previous(): 把光标向上挪一行
    • boolean next(): 把光标向下挪一行
    • boolean relative(int row):相对位移,当row为正数时,表示向下移动row行,为负数时表示向上移动row行。
    • boolean absolute(int row):绝对位移,把光标移动到指定的行上;
    • int getRow():返回当前光标所有行。

         上面方法分为两类,一类用来判断游标位置的,另一类是用来移动游标的。如果结果集是不可滚动的,那么只能使用next()方法来移动游标,而beforeFirst()、afterLast()、first()、last()、previous()、relative()方法都不能使用。

    获取结果集元数据:

    • 得到元数据:rs.getMetaData(),返回值为ResultSetMetaData;
    • 获取结果集列数:int getColumnCount();
    • 获取指定列的列名:String getColumnName(int collindex);

    结果集特性:

    • 是否可滚动
    • 是否敏感
    • 是否可更新

    Statement createStatement();//默认不滚动、不敏感、不可更新。

      结果集是否支持滚动,要从Conntection类的createStatement()方法说起。也就是说创建的Statement决定了使用Statement创建的ResultSet是否支持滚动。

      Statement createStatement(int resultSetType,int resultSetConcurrency)

    • 第一个参数的可选值:
      • ResultSet.TYPE_FORWARD_ONLY: 不滚动结果集;(默认值)
      • ResultSet.TYPE_SCROLL INSENSITIVE: 滚动结果集,但结果集数据不会再跟随数据库而变化;
      • ResultSet.TYPE_SCROLL_SENSITIVE: 滚动结果集,但结果集数据不会再跟随数据库而变化;(无数据驱动支持)
    • 第二个参数的可选值:
      • CONCUR_READ_ONLY:结果集是只读的,不能通过修改结果集而反向影响数据库;
      • CONCUR_UPDATABLE:结果集是可更新的,对结果集的更新可以反向影响数据库。

    二、ResultSet之获取列数据

      可以通过next()方法使ResultSet的游标向下移动,当游标移动到你需要的行时,就需要获取该行的数据,ResultSet提供了一系列获取列数据的方法:

    • String getString (int columnIndex):获取指定列的String类型数据
    • int getInt (int columnIndex):获取指定列的int类型数据
    • double getDouble (int columnIndex):获取指定列的double类型数据
    • boolean getBoolean (int columnIndex):获取指定列的boolean类型数据
    • Object getObject (int columnIndex):获取指定列的Object类型的数据
    • String getString (int columnName):获取名为columnName的列的String类型数据
    • int getInt (int columnName):获取名为columnName的列的int类型数据
    • double getDouble (int columnName):获取名为columnName的列的double类型数据
    • boolean getBoolean (int columnName):获取名为columnName的列的boolean类型数据
    • Object getObject (int columnName):获取名为columnName的列的Object类型的数据
  • 相关阅读:
    Ajax学习感悟
    C#自定义控件designmodel的判断
    Asp.net+Flash多文件上传
    .net下帮助文件(sandcastle)
    水晶报表小例用于学习
    WinAPI转C#利器
    利用HttpHandler和Cache统计点击量
    关于C#调用API的理解(汇多考勤机HD4K)
    ubuntu 12.04 配置PHP開發環境遇到的問題
    windows 7 系統在VMWear workstation 9上安裝Mac OS X 10.7
  • 原文地址:https://www.cnblogs.com/gdwkong/p/7632836.html
Copyright © 2011-2022 走看看