Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 -
目次 索引 前ページ次ページ

第2部 APIでのアプリケーション開発> 第9章 Java APIのアプリケーション開発> 9.3 Java APIの使用方法> 9.3.2 データの検索

9.3.2.6 レコードIDを利用してXML文書全体を取得する

XML文書の中から必要なXML文書を検索する場合、はじめからXML文書の全体を取得するのではなく、XML文書を識別するのに有効な部分情報を取得します。利用者は、これらの部分情報から詳細情報を取得したいXML文書を特定します。

XML文書の全体を取り出すには、部分情報を取り出したときに一緒に返却されるレコードIDを使用します。レコードIDを利用することで目的のXML文書の全体を取り出すことができます。

レコードIDを利用してXML文書全体を取得する場合の流れについて、以下の図に示します。

[図:レコードIDを利用してXML文書全体を取得する場合の流れ]

■記述例

ShunConnection con = new ShunConnection();

ShunPreparedRecordID prid = con.prepareSearchRecordID();            (1)
prid.add(recordID);                                                 (2)
ShunResultSet rs = prid.searchByRecordID();                         (3)
while (rs.next()) {                                                 (4)
  System.out.println("[結果] = " + rs.getString());                 (4)
}
rs.close();                                                         (5)
prid.close();                                                       (5)

con.close();

◆(1) ShunPreparedRecordIDオブジェクトの作成

ShunPreparedRecordIDオブジェクトの作成は、prepareSearchRecordIDメソッドを使用します。

◆(2) レコードIDの設定

レコードIDの設定は、addメソッドを使用します。レコードIDはgetRecordIDメソッドで取得します。

addメソッドで複数のレコードIDを設定できます。すでに同一のレコードIDが設定されている場合は上書きします。

addメソッドで複数のレコードIDを指定することで、一度に複数のXML文書を取得することができます。

◆(3) 検索の実行(ShunResultSetオブジェクトの作成)

検索の実行はsearchByRecordIDメソッドを使用します。検索した結果としてShunResultSetオブジェクトが作成されます。

◆(4) 検索した結果の取出し

検索した結果を取り出す前には、必ずnextメソッドを使用します。nextメソッドは、次のデータが存在する場合はtrueを返し、それ以上データがない場合はfalseを返します。

XML文書を取り出すには、目的に応じて以下のメソッドを使用します。使用可能なメソッドについては以下の表を参照してください。

[表:XML文書を取り出す場合に使用可能なメソッド一覧]

メソッド名

機能説明

getString

XML文書をStringオブジェクトで取り出します。

getStream

XML文書をInputStreamオブジェクトで取り出します。

◆(5) ShunResultSetオブジェクトおよびShunPreparedRecordIDオブジェクトの解放

ShunResultSetオブジェクトとShunPreparedRecordIDオブジェクトは、使用後にそれぞれのcloseメソッドで必ず解放します。

■Apworks利用時の記述例

レコードIDを用いてXML文書全体を取り出す方法についてビジネスクラス、Shunsakuアクセスクラスの記述例を以下に示します。

ビジネスクラス

ShunConnection con = new ShunConnection();

ShunsakuAccessController controller = new ShunsakuAccessController(con);
Object[] resultData = controller.detail(recordID);
controller.close();

con.close();

Shunsakuアクセスクラス

public Object[] detail(String recordID) throws ShunException {
   Object[] resultData = null;

   ShunPreparedRecordID prid = con.prepareSearchRecordID();          (1)
   prid.add(recordID);                                               (2)

   ShunResultSet rs = prid.searchByRecordID();                       (3)
   try { 
      resultData = paeseResultSet(rs);                                (4)
   }   finally {
      rs.close();                                                     (5)
   }
   prid.close();                                                     (5)
   
   return resultData;
}

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006