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 データの検索 |
レコードIDはXML文書全体の取得、データの削除、更新をする場合に使用します。レコードIDの取得はgetRecordIDメソッドを使用します。
レコードIDの取出し方法について、以下の図に示します。
ShunConnection con = new ShunConnection(); String queryExpression = "/document/base/prefecture == '大阪'"; String returnExpression = "/document/base/name, /document/base/price"; ShunPreparedStatement pstmt = con.prepareSearch(queryExpression, returnExpression); (1) pstmt.setRequest(11,5); (2) ShunResultSet rs = pstmt.executeSearch(); (3) while(rs.next()) { (4) System.out.println("[レコードID] = " + rs.getRecordID()); (4) } rs.close(); (5) pstmt.close(); (5) con.close(); |
ShunPreparedStatementオブジェクトは、prepareSearchメソッドのパラメタに検索式とリターン式を指定して作成します。
検索式およびリターン式の詳細は、“付録B 検索式、リターン式およびソート式の書式”を参照してください。
setRequestメソッドに返信開始番号と返信要求件数を指定します。setRequestメソッドを省略した場合、返信要求件数はconductor用動作環境ファイルまたはdirector用動作環境ファイルのAnsMaxに設定された値が指定されます。
返信要求件数には、1画面に表示する件数を指定します。
検索の実行はexecuteSearchメソッドを使用します。検索した結果としてShunResultSetオブジェクトが作成されます。
検索した結果を取り出すのと同様にレコードIDを取り出す前にも、必ずnextメソッドを使用します。nextメソッドは、次のデータが存在する場合はtrueを返し、それ以上データがない場合はfalseを返します。
ShunResultSetオブジェクトとShunPreparedStatementオブジェクトは、使用後にそれぞれのcloseメソッドで必ず解放します。
レコードID取出し方法についてビジネスクラスの記述例を以下に示します。Shunsakuアクセスクラスについては、Apworksの対話形式のウィザードで作成されたひな形を使用してください。Shunsakuアクセスクラスのひな形については“9.3.2.2 件数に応じて検索した結果を取得する”を参照してください。
ShunConnection con = new ShunConnection(); ShunsakuAccessController controller = new ShunsakuAccessController(con); controller.search(key); Object[] resultData = controller.getResultData(ShunsakuAccessController.SORT_NONE, 11, 5); ShunAddressListModel listData = new ShunAddressListModel(resultData); dataBean.setResultList(listData); ListModel resultList = dataBean.getResultList(); for(int i = 0; i < resultList.getSize(); i++) { Object result = resultList.getElementAt(i); AddressData new_result = (AddressData)result; String recordID = new_result.getRecordID(); } controller.close(); con.close(); |
目次
索引
![]() ![]() |