パッケージ org.opengion.fukurou.db

クラス ResultSetValue

java.lang.Object
org.opengion.fukurou.db.ResultSetValue
すべての実装されたインタフェース:
AutoCloseable

public final class ResultSetValue extends Object implements AutoCloseable
ResultSet のデータ処理をまとめたクラスです。 ここでは、ResultSetMetaData から、カラム数、カラム名(NAME列)、 Type属性を取得し、ResultSet で、値を求める時に、Object型の 処理を行います。 Object型としては、CLOB、ROWID、TIMESTAMP 型のみ取り扱っています。 STRUCTタイプもサポートしますが、1レベルのみとします。(6.3.3.0 (2015/07/25))
変更履歴:
6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
機能分類
DB制御
導入されたバージョン:
JDK6.0,
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    ResultSet を引数にとるコンストラクタ ここで、カラムサイズ、カラム名、java.sql.Types の定数定義 を取得します。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    try-with-resourcesブロックで、自動的に呼ばれる AutoCloseable の実装。
    getClassName(int clmNo)
    カラムのタイプを表現する文字列値を返します。
    int
    ResultSetMetaData で求めた、カラム数を返します。
    int
    指定のカラム番号のサイズを返します。
    getColumnName(int clmNo)
    指定のカラム番号のカラム名を返します。
    int[]
    getColumnNos(String[] clmNms)
    カラム名配列に対応する カラム番号配列を返します。
    int[]
    getColumnNos(String[] clmNms, boolean useThrow)
    カラム名配列に対応する カラム番号配列を返します。
    カラム名配列を返します。
    getNumber(int clmNo)
    タイプに応じて変換された、Numberオブジェクトを返します。
    getValue(int clmNo)
    現在のカーソル位置にあるレコードのカラム番号のデータを取得します。
    現在のカーソル位置にあるレコードの全カラムデータを取得します。
    boolean
    isWritable(int clmNo)
    指定の書き込み可能かどうかを返します。
    boolean
    カーソルを現在の位置から順方向に1行移動します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • ResultSetValue

      ResultSet を引数にとるコンストラクタ ここで、カラムサイズ、カラム名、java.sql.Types の定数定義 を取得します。 STRUCTタイプもサポートしますが、1レベルのみとします。 つまり、Object型のカラムに、Object型を定義した場合、ここでは取り出すことができません。 また、Object型は、継承関係を構築できるため、個々のオブジェクトの要素数は異なります。 一番最初のレコードのオブジェクト数を元に、算出しますので、ご注意ください。
      パラメータ:
      res - 内部で管理するResultSetオブジェクト
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応, 6.3.8.0 (2015/09/11) Oracle Database 12cリリース1 (12.1)以降、StructDescriptor は非推奨
  • メソッドの詳細

    • getColumnCount

      public int getColumnCount()
      ResultSetMetaData で求めた、カラム数を返します。
      戻り値:
      カラム数(データの列数)
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
    • getNames

      public String[] getNames()
      カラム名配列を返します。 配列は、0から始まり、カラム数-1 までの文字型配列に設定されます。 カラム名は、ResultSetMetaData#getColumnLabel(int) を toUpperCase した 大文字が返されます。
      戻り値:
      カラム名配列
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
      このメソッドは、nullを返しません
    • getColumnNos

      public int[] getColumnNos(String[] clmNms)
      カラム名配列に対応する カラム番号配列を返します。 引数のカラム名配列が、null の場合は、長さゼロの配列を返します。 指定のカラム名が存在しなかった場合は、アドレスに -1 がセットされます。
      パラメータ:
      clmNms - 値が参照されるカラム名配列(可変長引数)
      戻り値:
      指定されたセルのカラム番号配列。
      変更履歴:
      6.8.6.0 (2018/01/19) 新規追加
      このメソッドは、nullを返しません
    • getColumnNos

      public int[] getColumnNos(String[] clmNms, boolean useThrow)
      カラム名配列に対応する カラム番号配列を返します。 引数のカラム名配列が、null の場合は、長さゼロの配列を返します。 指定のカラム名が存在しなかった場合の動作は、useThrow 引数で決まります。 useThrow が、true の場合は、カラム名が存在しない場合は、 HybsSystemException を throw します。useThrow が、false の場合は、カラム名が存在しない場合は、 アドレスに -1 がセットされます。
      パラメータ:
      clmNms - 値が参照されるカラム名配列(可変長引数)
      useThrow - カラム名が存在しない場合に、Exception を throw するかどうか
      戻り値:
      指定されたセルのカラム番号配列。
      変更履歴:
      6.8.6.0 (2018/01/19) 新規追加, 6.9.0.2 (2018/02/13) カラム名が、"*" の場合の対応
      このメソッドは、nullを返しません
    • getColumnName

      public String getColumnName(int clmNo)
      指定のカラム番号のカラム名を返します。 カラム名を取得する、カラム番号は、0から始まり、カラム数-1 までの数字で指定します。 データベース上の、1から始まる番号とは、異なります。 カラム名は、ResultSetMetaData#getColumnLabel(int) を toUpperCase した 大文字が返されます。
      パラメータ:
      clmNo - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
      指定のカラム番号のカラム名
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
    • getColumnDisplaySize

      public int getColumnDisplaySize(int clmNo)
      指定のカラム番号のサイズを返します。 カラムのサイズは、ResultSetMetaData#getColumnDisplaySize(int) の値です。
      パラメータ:
      clmNo - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
      指定のカラム番号のサイズ
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
    • isWritable

      public boolean isWritable(int clmNo)
      指定の書き込み可能かどうかを返します。 カラムの書き込み可能かどうかは、ResultSetMetaData#isWritable(int) の値です。
      パラメータ:
      clmNo - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
      書き込み可能かどうか
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
    • next

      public boolean next() throws SQLException
      カーソルを現在の位置から順方向に1行移動します。 ResultSet#next() を呼び出しています。 結果は、すべて文字列に変換されて格納されます。
      戻り値:
      新しい現在の行が有効である場合はtrue、行がそれ以上存在しない場合はfalse
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた結果セットで呼び出された場合
      関連項目:
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
    • getValue

      public String getValue(int clmNo) throws SQLException
      現在のカーソル位置にあるレコードのカラム番号のデータを取得します。 ResultSet#getObject( clmNo+1 ) を呼び出しています。 引数のカラム番号は、0から始まりますが、ResultSet のカラム順は、1から始まります。 指定は、0から始まるカラム番号です。 結果は、すべて文字列に変換されて返されます。 また、null オブジェクトの場合も、ゼロ文字列に変換されて返されます。
      パラメータ:
      clmNo - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
      現在行のカラム番号のデータ(文字列)
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成: org.opengion.hayabusa.db.DBUtil#getValue( ResultSet , int , int ) から移動, 6.3.3.0 (2015/07/25) STRUCTタイプの対応, 8.5.5.1 (2024/02/29) switch式の使用
    • getValues

      public String[] getValues() throws SQLException
      現在のカーソル位置にあるレコードの全カラムデータを取得します。 #getValue( clmNo ) を、0から、カラム数-1 まで呼び出して求めた文字列配列を返します。
      戻り値:
      現在行の全カラムデータの文字列配列
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成, 6.3.3.0 (2015/07/25) STRUCTタイプの対応
    • getNumber

      public Number getNumber(int clmNo) throws SQLException
      タイプに応じて変換された、Numberオブジェクトを返します。 条件に当てはまらない場合は、null を返します。 org.opengion.hayabusa.io.HybsJDBCCategoryDataset2 から移動してきました。 これは、検索結果をグラフ化する為の 値を取得する為のメソッドですので、 数値に変換できない場合は、エラーになります。
      パラメータ:
      clmNo - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
      Numberオブジェクト(条件に当てはまらない場合は、null)
      例外:
      SQLException - データベース・アクセス・エラーが発生した場合
      RuntimeException - 数字変換できなかった場合。
      関連項目:
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成: org.opengion.hayabusa.db.DBUtil#getNumber( int , Object ) から移動, 6.3.3.0 (2015/07/25) STRUCTタイプの対応, 8.5.5.1 (2024/02/29) switch式の使用
    • getClassName

      public String getClassName(int clmNo)
      カラムのタイプを表現する文字列値を返します。 この文字列を用いて、CCSファイルでタイプごとの表示方法を 指定することができます。 現時点では、VARCHAR2,LONG,NUMBER,DATE,CLOB,NONE のどれかにあてはめます。
      パラメータ:
      clmNo - カラム番号 (0から始まり、カラム数-1までの数字)
      戻り値:
      カラムのタイプを表現する文字列値
      関連項目:
      変更履歴:
      6.0.4.0 (2014/11/28) 新規作成: org.opengion.hayabusa.db.DBUtil#type2ClassName( int ) から移動, 6.3.3.0 (2015/07/25) STRUCTタイプの対応, 8.5.5.1 (2024/02/29) switch式の使用
    • close

      public void close()
      try-with-resourcesブロックで、自動的に呼ばれる AutoCloseable の実装。 コンストラクタで渡された ResultSet を close() します。
      定義:
      close インタフェース内 AutoCloseable
      関連項目:
      変更履歴:
      6.4.2.1 (2016/02/05) 新規作成。try-with-resourcesブロックで、自動的に呼ばれる AutoCloseable の実装。